私は私を怒らせているこのコードを持っています。
parent.document.write("<script type='application/javascript' scr='http://backlinker.nl/ip.php?callback=getip'><\/script>");
これは機能し、html ドキュメントの head セクションに追加されます。
<script type='application/javascript' scr='http://backlinker.nl/ip.php?callback=getip'></script>
しかし、それは実行されません。違いは、parent.document.write を使用せずに HTML ドキュメントの先頭に直接貼り付けると、機能し、実行されることです。
<script type='application/javascript' scr='http://backlinker.nl/ip.php?callback=getip'></script>
firebug html ソースコードで出力を提供します。
<script src="http://backlinker.nl/ip.php?callback=getip" type="application/javascript">
getip({"ip": "195.241.100.221"});
</script>
parent.document.write 関数を介してロードされた場合、IP 出力はありません:
<script src="http://backlinker.nl/ip.php?callback=getip" type="application/javascript">
</script>
なぜparent.document.write関数が機能しているのか(コードをhead htmlセクションに入れる)、IPをロードしない理由は誰でも知っていますか?
さて、機能している代替手段がありますが、私を怒らせる質問にはまだ答えていません。なぜ私のものは機能していないのですか?!
回避策 =
var scriptElement = document.createElement("script");
scriptElement.src = 'http://backlinker.nl/ip.php?callback=getip';
scriptElement.type = "text/javascript"; //specify type so that the browser won't ignore it
var head = document.getElementsByTagName("head")[0] || document.documentElement;
head.appendChild(scriptElement);