iframe编程的一些问题

前几天做一个用iframe显示曲线图的demo,发现对iframe的contentDocument绑定

onclick事件都无效,而在页面中对iframe.contentDocument的onclick

属性为undefined;而当iframe去掉src属性后,在对其绑定onclick事件,该事件生效;

对比之下才发现原来当对iframe.contentDocument绑定事件时,iframe还没有加载

完毕,此时对于contentDocument虽然可以绑定该事件处理函数,但是却无法执行,

因为此时contentDocument为空页面,可以观察到此页面的url为 about:blank

  

        var f = document.createElement('iframe');
        f.src = '../promise/promise.html';
        document.body.appendChild(f)
        f.contentDocument.onclick = function(){console.log(123)}
        console.log(f.contentDocument.onclick)    

        f.onload = function(){
            f.contentDocument.onclick = function(){console.log(123)}
            console.log(f.contentDocument.onclick)
        }    

等待iframe加载完毕再绑定事件可解决此问题。

原文地址:https://www.cnblogs.com/accordion/p/4163092.html