条件によってHTMLのところどころの要素を書き換える
http://d.hatena.ne.jp/kenmituo/20100305で悩んで納得したけど、複数の要素を書き換えられないことが分かって悲しんでいた。
さっさっと書く
index.htm
<html> <body> <p>Script test Top Page</p> <p><a href="sample.htm?normal">normal</a></p> <p><a href="sample.htm?wagon">wagon</a></p> </body> </html>
sample.htm
<html> <body> <script type="text/javascript"> var foo = location.href.split("?")[1]; if (foo == "normal"){ var foo_id = "normal"; }else if(foo == "wagon"){ var foo_id = "wagon"; } </script> <div id="sample_pc"><script type="text/javascript" src="sample_pc.js"></script></div> <div id="sample_vhs"><script type="text/javascript" src="sample_vhs.js"></script></div> </body> </html>
sample_pc.js
var TagName = "sample_pc"; var pc = new Array(); pc["normal"] = "Lavie"; pc["wagon"] = "DELL"; pc["other"] = "SONY"; change_documents = "sample_pc.js hoge " + pc[foo_id] + "<br />"; if(document.all || document.getElementById){ // IE4/5、NN6用の分岐 if(document.all)document.all(TagName).innerHTML = change_documents; else document.getElementById(TagName).innerHTML = change_documents; } else if(document.layers){ // NN4.7用の分岐 with(document.layers[TagName]){ //with構文 document.open(); document.write(change_documents); // レイヤー"naiyou"に変数msgの値を書き出す。 document.close(); } }
sample_vhs.js
var TagName = "sample_vhs"; var vhs = new Array(); vhs["normal"] = "victor"; vhs["wagon"] = "toshiba"; change_documents = "sample02_vhs.js fuga " + vhs[foo_id] + "<br />"; if(document.all || document.getElementById){ // IE4/5、NN6用の分岐 if(document.all)document.all(TagName).innerHTML = change_documents; else document.getElementById(TagName).innerHTML = change_documents; } else if(document.layers){ // NN4.7用の分岐 with(document.layers[TagName]){ //with構文 document.open(); document.write(change_documents); // レイヤー"naiyou"に変数msgの値を書き出す。 document.close(); } }
index.htmからのリンクでsample.htmにパラメータを渡して、sample.htmからjavascriptにパラメータを渡す。
これならいける。週末に考えないで済むのが幸せだ。
参考