電子書籍の厳選無料作品が豊富!

呼び出し元のURLによって動作を変えたいJAVASCRIPTがあります。

普段外部のJAVASCRIPTを呼び出すときはよくこうするのですが

<script type="text/javascript" src="js.php?key=url"></script>

これでは「key=url」が固定になってしまいます。そこで下記のように

<script>
var commentname=document.URL;
var str=encodeURIComponent(commentname);
document.write('<script type="text/javascript" src="read.php?key=',str,'"><\/script>');
</script>

document.writeを使って無理やり外部Javascriptファイルの呼び出しスクリプトを書いているのですが、この書き方はどうもエレガントさにかけるというか、いまいち気に入りません。

もっとほかに良い方法がある気がするのですが、調べてもわかりませんでした。おわかりになる方がいらっしゃったらご教示頂けないでしょうか。

A 回答 (2件)

エレガントかどうかはともかく、多くのブラウザで動作する事の方が重要な気がします。


私の場合DOMを使っています。
function addScript (url){
var el = document.createElement("script");
el.setAttribute("src",url);
el.setAttribute("charset","UTF-8");
document.getElementsByTagName("head").item(0).appendChild(el);
}

こうしておけば、簡単に外部スクリプトの追加が可能ですよね。
addScript("http://hogehoge.com/hogehoge.php?key="+key);
DOMを使う理由は、タグの閉じ忘れ、"や'の間違い、閉じ忘れ等を極力防ぐ事が出来るからです。

scriptの中にscriptという文字列を書く場合は、"scr"+"ipt"のように分けて書く方が良いと思います。
参考まで。
    • good
    • 0
この回答へのお礼

ありがとうございます。
これは追加が簡単になりますね。ライブラリにしておいて使いまわせそうです。

お礼日時:2007/05/28 09:35

たいして変わりませんが



<script type="text/javascript" id="xx"></script>
<script>
var commentname=document.URL;
var str=encodeURIComponent(commentname);
document.getElementById("xx").src="read.php?key="+str;
</script>
    • good
    • 0
この回答へのお礼

ありがとうございます。こちらの書き方のほうが綺麗ですね。

お礼日時:2007/05/28 09:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!