javascriptファイルでjavascriptファイルを読み込む問題点

本ブログでは javascriptライブラリ jQuery を他javascriptファイルから読み込ませていました。 これは単一のファイルに javascript 及び CSS ファイルを全てまとめて、 更新性を良くする為です。

その読み込むための javascript のソースは…

スポンサーリンク

以下の様に記述しています。

var js=document.createElement("script");
js.charset="UTF-8";
js.src="jquery.js";
js.type="text/javascript";
document.getElementsByTagName('head')[0]
     .appendChild(jqscript);

ところがこの手法を用いると度々問題が発生しました。 恐らく jQuery ファイルが読み込まれる前に、 このライブラリを必要とするソースが読み込まれる為に 上手く動作しなくなってしまうのです。 具体的な事例を挙げれば直近で2011年4月24日に 他ブログ更新情報の自ブログへの表示 という記事にした jQuery を利用したフィードの取得が 上手く動作しないことが頻繁に発生します。

上記スクリプト部分で jQueryファイルを読み込む処理を書いた後に、例えば

alert('test);
などと一度HTML画面上に動きがある様なスクリプトを書けば その後のソースが動作するのですが、 それが時系列的な問題か、javascriptの仕様の問題かは分かりませんでした。

結局、現在はメンテナンス性を犠牲にして、 HTML本体(ブログテンプレート)に jQueryファイル読み込みタグを記述して この問題を回避しています。