
外部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ランキング
-
javascriptで変数を組み込みたい
-
ページ内文字列の置換について
-
<a href="#" …>の意味を教えて...
-
スマホ上で、左右スワイプで次...
-
インラインフレームで表示され...
-
jqueryのcolorboxを読込直後に...
-
フレーム内から開いたサブウィ...
-
function の return 値を表示し...
-
複数のiframeの読み込みについて
-
イメージ(画像)の上に重ねたテ...
-
window.openでリファラを取得す...
-
pythonのWebスクレイピングでfi...
-
iPhone Safariの戻るボタンの挙動
-
Chromeがiframe内の「#~」に釣...
-
プログラミング初心者です。ど...
-
ブログのhtmlのリンクを触...
-
JavaScriptでiframeの内容を「...
-
iframe内に表示するページを5分...
-
文字を入れ替わり表示させたい...
-
SCRIPT5007: 未定義または NULL...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
location.hrefが動かない・・・
-
Copyrightの年号を自動的に変更
-
ページ内文字列の置換について
-
javascriptで変数を組み込みたい
-
document.getElementById
-
submitで特定の情報だけを本文...
-
「document.images.src =」につ...
-
自動的にもとのページに再読み...
-
外部jsからdocument.writeする...
-
javascriptでの大文字小文字の区別
-
CGIフォーム一定時間過ぎる...
-
JavaScriptでテーブルの内容を抽出
-
スクロールしても画像・文字が...
-
*.jsをHTMLで読み込んでHTMLに...
-
特定のURLからの訪問者を入室禁...
-
location.hrefの使用方法について
-
外部javascriptファイルをjavas...
-
動的生成したscriptタグが実行...
-
CGIのCookieの消去
-
ランダム音声と正解・不正解の表示
おすすめ情報