好的,我将重新表述我的请求,因为我认为基于一些答案,它变得令人费解。我所寻找的就是是否有一个javascript命令来从父javascript中触发onload事件。一行代码,例如:document.getElementById('FrameID').fire.onload();
或如果这不能做到的话。
我正在集思广益地开发一个应用程序,我将在其中预先加载一些iframe的url,比如10个。然后,我将通过隐藏和显示框架来旋转它们。我希望能够在显示活动框架后触发一个窗口onload事件,而无需重新加载页面,这样如果页面有onload事件,它就会表现得像新的一样。我能这么做吗?页面可能有也可能没有window onload事件。
发布于 2012-03-10 09:03:01
您需要重新发出load事件:
var evt = document.createEvent('Event');
evt.initEvent('load', false, false);
window.dispatchEvent(evt);
访问window
对象将是最困难的部分,我认为只有当iframe来自与您的页面相同的域时才有可能。
发布于 2016-07-28 19:58:06
Document.createEvent()和Event.initEvent()是deprecated。
现在使用Event
构造函数:
const evt = new Event('build')
window.dispatchEvent(evt)
发布于 2012-03-10 09:00:27
使用此tutorial,您可以使用:
document.getElementById("$FRAME_ID$").contentDocument.location.reload(true);
然后只需为每个元素添加新的ID或类,请参见:https://stackoverflow.com/a/2064863/1097415
https://stackoverflow.com/questions/9642823
复制相似问题