javascript - 自执行函数和 document.write

标签 javascript

我有这个自执行函数:

<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);  

最佳答案

我不知道您要完成什么,但只要您的代码托管在 http://blahblah.com/ 上,它就是有效的。

您的浏览器不会让您执行远程代码来操纵原始页面。这不是愚蠢的。

关于javascript - 自执行函数和 document.write,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104609/

相关文章:

javascript - 支持触摸的桌面 HTML Kiosk

javascript - 使用ajax上传时如何回显值输入类型文本?

javascript - 在 jQuery 中将数组从一个函数传递到另一个函数

javascript - 获取 DIV 的实际大小,包括溢出(元素超出父边界)

javascript - Mongodb:加载的 javascript 函数无法正确执行

javascript - 检查输入是否为空,如果不为空,则将类添加到父div

javascript - IE9(兼容模式)不提交表单

javascript - 从js文件调用函数到html页面

javascript - 如何将对象数组及其属性导出到另一个 JS 文件?

javascript - 下拉菜单被 div 隐藏并自动溢出