通过createelement_x_x创建的iframe的onload事件在有些时候不响应,具体原因和解决办法如下。
首先,我们来看一下下面这种方法:
function createFrame(){ var frame = document.cerateElement("iframe"); frame.onload = function(){alert("loaded - createFrame");} frame.src = "http://www.phper.org.cn"; document.body.a(frame); }
这一段在FF下是完全如我们所想,能够达到预期效果,但是在IE下面似乎就失效了,导致这种结果的原因还不是十分清楚,有一种说法是IE在检测到 iframe的时候,就把认为它已经装载完成了,通过createElement_x_x创建的iframe,似乎在创建的一瞬间它的onload就完成了,后面的onload设定大概也就无效了。
下面我们再来看一个方法:
function includeFrame(){ var div = document.create_rElement_x("div"); div.innerHTML = "<iframe onload=\"javascript:alert('loaded -includeFrame');\" src=\"http://www.manongjc.com\"></iframe>"; document.body.a(div); }
这个方法在IE和FF下面测试都通过,上面的那种说法虽然不是很有根据,但是目前还没有找到更好的解释。如果真的是如上面所说的话,那通过第二种方法正好可以解决,因为在第二种方法中iframe的onload事件跳过createElement_x_x("iframe")这个步骤,避免了IE的检测。
注 onload必须在src前面才可以.
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号