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の利用や、複数の組み合わせによって、 どうとでもなるような気がする。
うーん、どうしよう。
Comments
最新のコメント20件を表示しています