我有这个让我发疯的代码。
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);