解决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 = "";
                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

你可能感兴趣的:(解决iframe框架onload方法不加载的问题)