我有这个自动执行的功能:
<script type="text/javascript">
(function() {
var sc = document.createElement('script');
sc.src = 'http://blahblah.com/test.js';
sc.type = 'text/javascript';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(sc, s);
})();
</script>
test.js中包含的所有内容都是:
document.write('ping!');
然而,它挂了 - 我做错了吗?
我找到了绕过document.write的方法,但现在唯一的问题是为什么这不起作用。
var nc = document.createElement('div');
nc.appendChild(document.createTextNode('blah'));
var scr = document.getElementsByTagName('script')[0];
scr.parentNode.insertBefore(nc, scr);
答案 0 :(得分:2)
我不知道您要完成什么,但只要代码在http://blahblah.com/
上托管,您的代码就有效。
您的浏览器不允许您执行远程代码来操作原始页面。这不是 哑。