Javascriptの動的ロードに関するメモ

読了まで:約1分


概要: Javascript で外部 JS ファイルを動的にロードするには。


Javascript で動的ロードをするには、

  • XMLHTTPRequesst
  • Flash を使用した通信
  • JSONScriptRequest (script 要素の追加による読み込み)
  • iframeHTTPRequest (iframe 要素の操作による読み込み)

あたりが思いつく。どれもこれも実際に使用したことが無いので、 細かいところまでは分かっていない。

で、分かってる範囲でメリット・デメリット書くと、

  • XMLHTTPRequest メリット 同期・非同期が選択できる

  • ステータスコードが取れる

  • デメリット ブラウザによって仕様が微妙に違う

  • クロスドメインで通信ができない

  • JSONScriptRequest メリット クロスドメインで通信ができる

  • DOM で script 要素を作成するだけで使用可能

  • デメリット 同期・非同期がブラウザによって違う (Opera は同期で読み込む)

  • ステータスコードが取れない (ファイルが見つからなくてもエラーが出ない)

  • iframeHTTPRequesst メリット 使用できるブラウザが多い

  • デメリット (X)HTML の Strict では使用できない

  • Flash を使用した通信 メリット クロスドメイン可能

  • デメリット Flash が使えないとそもそも動かない

こんな感じか。

iframeHTTPRequesst と Flash を使用した通信に関してはまったく分かってないので、 的外れなことを書いてる可能性が無くもない。なにか間違いがあったらコメントで。

JSAN が気に入らないので、自分専用のライブラリ書いているんだけど、 動的ロードの部分をどうするかが決まらない。

最初、script 要素による読み込みにしようかとも思っていたんだけど、 ステータスコードが取れないみたいなので、ちょっと問題がある。

参考までに JSAN の場合をあげると、JSAN は XMLHTTPRequest を使用していて、 ライブラリはローカルから読み込むと言う形になっている。

上記リストのデメリットに関しては、CGI の利用や、複数の組み合わせによって、 どうとでもなるような気がする。

うーん、どうしよう。

#FIXME

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。