※ ChatGPTを利用し、要約された質問です(原文:JSONを使いページから他ページへ情報を渡す方法)
JSONを使ってページ間で情報を渡す方法
このQ&Aのポイント
JSONを使って、同じレイアウトの複数ページから情報をまとめる方法を知りたいです。各ページの一部分を1つのページに表示したいです。
JSONを利用して、ページ間で共有したい情報を設定し、他のページから取得して表示する方法がわかりません。アドバイスをいただけませんか。
JSONを使って、集めたページから必要な情報を取得して表示する方法について教えてください。ページ間で同じデータを扱う方法がわかりません。
同じレイアウトのページが数百ページあり、各ページの一部分を1つのページにまとめる方法を知りたいです。
JSONでできるようなので、サイトを参考にしながら作ってみました。
各ページの集めたい部分をオブジェクトで指定してJSONのテキストへ変換し、
集めたページにJSONを読み込み、変数に代入したJSONの情報を取得して表示を試みました。
しかし、やってみるとページ間で同じデータを扱うのが上手にできませんでした。
アドバイスを頂けないでしょうか。
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>集めたページ</title>
<script type="text/javascript" src="js/json.js"></script>
</head>
<body onload="jsontop()">
<div>
<ul>
<li><a href=""><span></span></a></li>
<li><img src=""></li>
</ul>
・・・・・・ULがページ数の数だけ続く
</div>
</body>
</html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>各ページのサンプル</title>
<script type="text/javascript" src="js/json.js"></script>
</head>
<body onload="json(1)">
<h1>1ページ目</h1>
<h2>タイトル</h2>
<p>複数ページある中の1ページ目です。このページの一部分を他のページに利用したいです。</p>
<dl>
<dt>サンプル画像</dt>
<dd><img src="img/sample01.jpg"></dd>
</dl>
</body>
</html>
-----json.js------
function json(no){
var obj = {
h1: no+"ページ目",
imgsrc: "img/sample0"+no+".jpg",
thisurl:"page01/sample01.html"
};
var str = JSON.stringify(obj);
}
function jsontop(){
JSON.parse(str);
var tagimg = document.getElementsByTagName("img");
var tagspan = document.getElementsByTagName("span");
var tagli1 = document.getElementsByTagName("li")[0];
tagspan[0].innerHTML = obj.h1; //1ページ目のタイトルを取得し置き換える
var img = new Image();
tagimg[0].src = obj.imgsrc; //1ページ目の画像のパスを取得し置き換える
tagli1.href = obj.thisurl; //1ページ目のURLをアンカーに設定
}
お礼
ありがとうございます。 >>各ページの一部分を1つのページにまとめる方法 >つまり、これですか? すみません、違います。http://www.youtube.com/ Youtubeで何か検索するとズラーと出てくるのがイメージ的に近いです。 動画部分は画像として表示し、タイトルも表示し、その説明文章も入れて・・・ 各ページの代表的なポイントを抽出し、あるページでその一覧のようにまとめる。 このような感じです。 >あるページの一部を他のページに流用するという考え方ではなく、 >むしろ、そのページさえも、「他の部分と共通」と考えてみてはいかがでしょうか? 書き忘れてしまったことがあったのですが、抽出の対象のページは基本的に全て同じHTMLのコードを使います。なのでページを増やすときは元のHTMLファイルをコピーしてテキスト部分と画像を変更するくらいです。