是否可以向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'); });
解决方法
我没有尝试处理’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'); }); };
希望会有所帮助.