是否可以向iframe添加事件侦听器?我已经尝试过这个代码,但似乎不起作用:
document.getElementsByTagName('iframe')[0].contentWindow.window.document.body.addEventListener('afterLayout',function(){ console.log('works'); });
我也试过使用通过id获取元素,并通过我使用的JavaScript框架添加我的监听器,像这样:
Ext.fly("iframeID").addListener('afterLayout',function(){ alert('test'); });
我可以调用iframe中的函数,所以我不认为安全是一个问题.有任何想法吗?
解决方法
我没有尝试处理’afterLayout’事件,但更多的浏览器兼容的代码
您将使用(iframe.contentWindow || iframe.contentDocument)而不是iframe.contentWindow.
您将使用(iframe.contentWindow || iframe.contentDocument)而不是iframe.contentWindow.
尝试像
var iframe = document.getElementsByTagName('iframe')[0],iDoc = iframe.contentWindow // sometimes glamorous naming of variable || iframe.contentDocument; // makes your code working :) if (iDoc.document) { iDoc = iDoc.document; iDoc.body.addEventListener('afterLayout',function(){ console.log('works'); }); };
希望会有所帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。