帮忙看一小段js代码,谢谢!
时间:2011-10-13
来源:互联网
(function(d) { var iframe = d.body.appendChild(d.createElement('iframe')), doc = iframe.contentWindow.document; // style the iframe with some CSS iframe.style.cssText = "position:absolute;width:200px;height:100px;left:0px;"; doc.open().write('<body onload="' + 'var d = document;d.getElementsByTagName(\'head\')[0].' + 'appendChild(d.createElement(\'script\')).src' + '=\'\/path\/to\/file\'">'); doc.close(); //iframe onload event happens })(document);
请问(function(d) {...})(document); 什么意思?该函数什么时候执行?
作者: persist_yu20082009 发布时间: 2011-10-13
(function(a){document.write(a);})(3)输出就是3,就是自动调用这个函数
作者: gggscfaii 发布时间: 2011-10-13
作者: persist_yu20082009 发布时间: 2011-10-13
谢谢1楼,还有个问题,这段代码老是报 'body'为空或不是对象,这个问题该怎么解决?谢谢!
因为document是全局变量。他这样做是将全局变量传进函数里面,就变成局部变量doc了,每次访问的时候都减少了访问作用域链,提高了性能
你说body为空是因为document没准备好的时候你就调用了,你将此代码用
window.onload = function(){
//代码
}执行
或者放到body下面执行
<body>
</body>
<script>
//代码
</script>
作者: liangws 发布时间: 2011-10-13
作者: A_Q111 发布时间: 2011-10-13
学习了
作者: wqs1010 发布时间: 2011-10-13
作者: xph0916 发布时间: 2011-10-13
作者: wangyangtfr 发布时间: 2011-10-13
引用 2 楼 persist_yu20082009 的回复:
谢谢1楼,还有个问题,这段代码老是报 'body'为空或不是对象,这个问题该怎么解决?谢谢!
因为document是全局变量。他这样做是将全局变量传进函数里面,就变成局部变量doc了,每次访问的时候都减少了访问作用域链,提高了性能
你说body为空是因为document没准备好的时候你就调用了,你将此代码用
wind……
理解的很好~~~
作者: fanchuanzhidu 发布时间: 2011-10-13
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28