我在IE6完全呈现页面之前运行的一些JavaScript有问题(也许还有其他版本,但现在只是测试IE6,Firefox似乎没问题)。我可以通过调用这样的window.onload
的JS解决这个问题:Javascript执行页面渲染后IE6
window.onload = function(){doIt();}
然而,我关心的是事实,我将覆盖其他任何可能已经在window.onload
。该代码将用作库的一部分,因此我不能保证window.onload
不会被其他人设置在其他地方。我将我的函数,而追加到onload
事件是这样的:
window.onload += function(){doIt1();}
window.onload += function(){doIt2();}
但是,当我这样做,只是doit2()
被调用。有没有办法为页面完全呈现时注册一个事件处理程序?我的第二个想法是将我的代码放入一个循环中,检查运行前是否存在所有对象。但我很害怕这可能会锁定浏览器。
只是为了一些背景信息,我的代码隐藏/显示的iFrames。我知道我可以使用iFrame的onload
属性,但我需要在调用代码之前全部加载所有的iFrame。
社区的任何想法?预先感谢您的意见。
快速响应!几乎和我想要说的一样! 为了清晰起见,您可能希望将示例用法放入代码块中。 值得注意的是,这将始终将新功能添加到被调用链的末尾。这可以简单地通过改变第二部分中'func()'和'oldload()'调用的顺序来改变,或者可能通过将第二个变量传递给函数来改变。 – PeterJCLaw 2010-01-25 21:02:53
+1完美!该死的,我喜欢这个网站! – 2010-01-25 21:21:00
耶,这个答案让我超过10,000个代表:) – 2010-01-25 22:03:03