javascriptとhtmlで関連記事の表示をしたい
事前にカテゴリを三次元配列として用意して、for文で呼び出したhtmlがどのカテゴリに該当するか調べて、そのカテゴリに含まれているページを二次元配列(ページのURLとサムネイル)で返すというプログラムを作ろうとしています。
下のようなコードを書いたのですが、画面に表示される文字がURLではなく、undefinedになります。
どのようなコードを書けば良いのでしょうか?
ブラウザ : GoogleChrome
htmlのパス : file:///D:/user1234/Documents/フォルダ/ホームページ/parts/index.html
jsのパス : file:///D:/user1234/Documents/フォルダ/ホームページ/parts/○○.js
結果として、画面にparts/index.htmlと表示したいです。
index.html
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>JavaScript 関連記事<title>
<script type="text/javascript" src="Category_list.js"></script>
<script type="text/javascript" src="Related_article.js"></script>
</head>
<body>
<script>
//ここで関数呼び出し
related_article("file:///D:/user1234/Documents/フォルダ/ホームページ/");
</script>
</body>
</html>
Category_list.js
function category_list() {
var list = [
[
["index.html", "parts/header_img.jpg"]
],
[
["test/index.html", "test/foo.jpeg"],
["test/hogehoge/index.html", ""]
],
[
["parts/index.html", "test/foo.jpeg"]
]
];
return list;
}
Related_article.js
function get_page_array (domain) {
//カテゴリリストを取得
var cat_list = category_list();
//カテゴリの数を取得
var num_of_cat = cat_list.length;
//カテゴリごとに調べる
for (var c = 0; c <= (num_of_cat-1); c++) {
var page_list = cat_list[c];
var num_of_page = page_list.length;
//ページごとに調べる
for (var p = 0; p <= (num_of_page-1); p++) {
var page_path = domain + page_list[p][0];
//ファイルのURL(パス)とカテゴリに書かれたURLが一致すれば
//そのカテゴリのページリストを返す
if (location.href == page_path) {
return page_list;
}
}
}
}
function related_article (domain) {
var related_array = get_page_array(domain);
//undefinedになる
document.write(related_array[0][0]);
}