解决iframe框架onload方法不加载的问题

我在做项目的时候,遇到一个情景当时是替换iframe,设置里面input内容。而我设置input内容是要放到iframe的onload事件里,我本地调试没有问题,放到服务器就出现input框内容获取不到,后来找来找去,找到原因是iframe刚开始加载的时候才会调用onload事件,原因找到了然后就是解决方法。我是这样解决的,首先创建div,div里面包括iframe。

在通过jquery的方法load事件取代onload事件,我的.net代码如下(仅供参考):

var tabcv = document.getElementById("left-box"); var div = document.createElement("div"); div.innerHTML = href2; div.style.width = "100%"; div.style.height = "100%"; var href2 = "<iframe width=100% height=100% id = myFrame src= "" + pathAnswerArry[clickCount - 1] + ""></iframe>"; div.innerHTML = href2; tabcv.innerHTML = ""; tabcv.appendChild(div); $("#myFrame").on(load, function () { var inputs = $(document.getElementById("myFrame").contentDocument.getElementsByClassName("ipt")); for (var i = 0; i < inputs.length; i++) { var input = $(document.getElementById("myFrame").contentDocument.getElementsByClassName("ipt")[i]); if (tmpAns[i] == undefined) { input.val(""); } else { input.val(tmpAns[i]); } input.css("background", "rgba(0, 0, 0, 0)"); input.attr({ "disabled": "disabled" });

})

注意使用jquery的方法时要使用比较高版本的jquery 的js

经验分享 程序员 微信小程序 职场和发展