0

我使用 iframe 在我的主页面中包含一个 HTML 页面。我修改了新包含的 HTML 页面的内容。

实际上,我只是包含了一个我创建的 Javascript 库。但是这个库包含一些在页面加载之前执行的函数。

但是由于我在加载后修改了新的 HTML 页面内容,所以我的库中的这些变量是 NaN。我该如何解决这个问题?有什么方法可以重新加载修改后的内容,或者我可以在加载之前访问文档吗?

我试过了:

document.getElementById("test").contentWindow.location.reload(true);

...但这会重新加载未修改的 IFrame 内容。

<html> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

        <style>
            iframe { height : 100%; width : 100%; border : 0px; overflow: auto; float : left; }
        </style>  

        <script>
            window.onload = function() {
                var fileref=document.createElement('script');
                fileref.setAttribute("type","text/javascript");
                fileref.setAttribute("src", "resizeEjquery.js");

                file=document.getElementById("test");
                y=file.contentDocument;
                y.getElementsByTagName('head')[0].appendChild(fileref);

                /*document.getElementById("test").contentWindow.location.reload(true);*/
            }
        </script>

    </head> 

    <body> 
        <iframe id="test" src="teste1.html"></iframe> 
    </body> 
</html>
4

1 回答 1

0

如果您使用的是 jQuery:

您可以手动触发方法来执行 onLoad 中的所有内容

$(window).load();

使用jQuery在框架中触发加载函数

$($('#test').contentWindow).load();

没有 jQuery:

您还可以通过以下方式访问 iframe 函数

document.getElementById("test").contentWindow.functioName();
于 2013-05-24T14:32:38.667 回答