谷歌浏览器window.onload事件不响应,Safari,Firefox都可以。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谷歌浏览器window.onload事件不响应,Safari,Firefox都可以。相关的知识,希望对你有一定的参考价值。

<script type="text/javascript">
window.onload = function()
$("#iframe").contents().find("#css2").hide();
;
</script>

<iframe id="iframe" src="iframein.html" frameborder="0" width="200" height="200"></iframe>

代码如上,想法是:加载完毕后隐藏iframe中的一块内容。
Safari,Firefox全都正常。而chrome并没有隐藏。
后来用ie,发现ie也不行。
chrome错误提示:
Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "null" from accessing a cross-origin frame.

window.onload方法没问题,你可以在方法里打一个console出来就能看到
console.log("window.onload func");
应该是操作iframe里的内容时出问题了,
可能是在执行onload方法时iframe里的内容还没有加载完成,建议监听一下iframe的onload事件再执行操作
参考技术A 这时 你操作iframe 不支持 和window.onload 没有关系。
再说 不建议用window.onload 要用也要用addEvent 否则 是个祸害
参考技术B 试试把onload方法中内容放到
$(document).ready(function()
// 代码放这里
);
参考技术C 这个 不能操作iframe吧 参考技术D 那就是浏览器兼容性问题了

页面OnLoad事件绑定

window.onload=message();

这种写法在程序运行到这句时,先执行message()函数,然后将message的返回值赋给window.onload。


window.onload=message;

这种写法是在网页加载完成后,调用message()方法。


建议使用window.onload=函数名;

这种写法,不容易出错。

window.onload=函数名();有些浏览器不买单。

以上是关于谷歌浏览器window.onload事件不响应,Safari,Firefox都可以。的主要内容,如果未能解决你的问题,请参考以下文章

页面OnLoad事件绑定

window.onload 与 $(document).ready() 的区别

jQuery的常用事件

$(document).ready()方法和window.onload区别

window对象事件

$(document).ready(...) 和 window.onload 的区别