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

読了まで:約2分


概要: 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

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

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

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