
外部JavaScriptの書き方
<script language="JavaScript" src="data.js"></script>
上記data.jsから、他サーバーの外部javascriptを読み出すには
以下のよな書き方で正しいでしょうか?
document.open();
document.write('<script language="JavaScript" src="http://hoge.com/data.js"></script>');
document.close();
No.1ベストアンサー
- 回答日時:
document.write()で<script>タグを書く時は、わざと
document.write( '<sc' + 'ript type="text/javascript" src="xx"></sc' + 'ript>');
のように'<sc'と'ript>'を分けた方がよい。
もっといいのは↓だけど...
var url = 'http~';
var script=document.createElement("script");
script.setAttribute("id","hoge");
script.setAttribute("type","text/javascript");
script.setAttribute("charset","UTF-8");
script.setAttribute("src",url);
document.getElementsByTagName("head")[0].appendChild(script);
No.4
- 回答日時:
個人的には、今ケースなら document.createElement('script') のコードが良いと思います。
----
余談。
クロスドメイン制限は「XMLHttpRequest Level 2」で回避することが出来ます。
http://vird2002.s8.xrea.com/javascript/XMLHttpRe …
var xhr = typeof XDomainRequest !== 'undefined' ? new XDomainRequest : (typeof XMLHttpRequest !== 'undefined' ? new XMLHttpRequest : new ActiveXObject('Msxml2.XMLHTTP.6.0'));
ActiveX() で指定される Msxml2.XMLHTTP ではバージョンを指定しないと 3.0 が指定されます。
Msxml2.XMLHTTP は 3.0, 4.0, 5.0, 6.0 とバージョンがありますが、MS中の人は「3.0 と 6.0 しかメンテしないので、その2つだけ利用してね」と書いていたと思います。
http://vird2002.s8.xrea.com/javascript/XMLHttpRe …
http://blogs.msdn.com/b/xmlteam/archive/2006/10/ …
ご回答有難うございます。
いろいろと複雑な方法があるんですね。
JavaScriptは基本的な書き方もわかっていなかったので、大変勉強になりました。
No.3
- 回答日時:
補足
No.2の XMLHttpRequest を使ったやり方は、
同じドメインのサイトのscriptしか実行出来ません。
他サーバーの外部javascriptは出来ません
(クロシドメインアクセス制限といいます。)
No.1は終了タグ</script>だけ注意すればよかったみたいです。
http://www39.atwiki.jp/eriax/pub/html/note-html1 …
もっとも、スクリプトソースのコードの中に"<",">"を書く時は、替わりに
"\u003C","\u003E" を書くのがよいとか
No.2
- 回答日時:
XMLHttpRequestの同期通信を使って...
<script type="text/javascript">
<!--
var XHR = (window.XMLHttpRequest)?new XMLHttpRequest:new ActiveXObject("Msxml2.XMLHTTP");
XHR.open("GET","http://hoge.com/data.js",false); //同期通信
XHR.setRequestHeader("Content-Type","text/javascript");
XHR.send(null);
if (XHR.status == 200)
eval(XHR.responseText); //Script実行
else alert("エラーが発生しました。"+XHR.status+":"+XHR.statusText);
XHR = null;
// -->
</script>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIフォーム一定時間過ぎる...
-
location.hrefが動かない・・・
-
動的生成したscriptタグが実行...
-
スクロールしても画像・文字が...
-
*.jsをHTMLで読み込んでHTMLに...
-
特定のURLからの訪問者を入室禁...
-
location.hrefの使用方法について
-
javascriptでの大文字小文字の区別
-
JavaScriptでテーブルの内容を抽出
-
外部jsからdocument.writeする...
-
ページ内文字列の置換について
-
plug-inが無い場合に他のページ...
-
ランダム音声と正解・不正解の表示
-
document.writeの文字列が実行...
-
Operaにおけるscriptのエスケー...
-
「javascript」一つのコントロ...
-
外部JavaScriptの書き方
-
ブロックされるのかされないのか?
-
<a href="#" …>の意味を教えて...
-
SQLのWHEREで全てを質問する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ジャバスクリプトが無効になっ...
-
Netscape4.7で。
-
足跡を付けたい
-
ページ内文字列の置換について
-
JavaScript について
-
日付について
-
Cookieの回数で閲覧制限、javas...
-
代入演算子の%=について
-
safari、firefoxでjavascript
-
ブラウザのアドレス欄に
-
始めまして、23歳の事務系OLです。
-
JavaScriptが有効ならA、無効ならB
-
外部javascriptファイルをjavas...
-
結果のなかにさらにjavascript
-
読み込むたびに画像を順番に表...
-
ブラウザを閉じないようにする...
-
javascriptで変数を組み込みたい
-
IEでiframe内のcookieを保持
-
文字の置換について
-
location.hrefが動かない・・・
おすすめ情報