调用javascript函数时出错TypeError:i.contentWindow.hiform不是函数

时间:2016-07-20 09:56:22

标签: javascript jquery asp.net

我有两页 主页面的第一页,包含两个框架和三个按钮 在第一帧中设置src到第二页
加载帧后我将第一帧内容复制到第二帧并从主页面调用第二帧内的函数但错误 TypeError:i.contentWindow.hiform不是函数

主页代码

 <script type="text/javascript">
     function CallFunction(frameName)
        {
                var i = document.getElementById(frameName);
                i.contentWindow.hiform();
     }
     function Copy() {
         try {

             var i = document.getElementById('frame1');
             var i2 = document.getElementById('frame2');
             i2.contentWindow.document.body.parentElement.innerHTML = i.contentWindow.document.body.parentElement.innerHTML;
         }
         catch (er) {
             alert(er);
         }
     }
    </script>

<iframe id="frame1" src="Second.aspx" height="100px" width="100%"></iframe>
    <iframe id="frame2"  height="100px" width="100%"></iframe>
     <input type="button" id="runFunc" onclick="CallFunction('frame1');" value="Call Function Frame1" /> this work

    <input type="button" id="Copy1" onclick="Copy();"  value="Copy"/>
     <input type="button" id="runFunc2" onclick="CallFunction('frame2');" value="Call Function Frame1" />

</div>

第二页

 <script type="text/javascript">

    function hiform() {
        alert('wow');
    }
</script>
<div>
HIIIIIIII
</div>

1 个答案:

答案 0 :(得分:0)

主要问题是您的第一页javascript无法在第二页中访问,您需要引用它。 这就是为什么你需要分离javascript代码并将其移动到外部文件然后将该文件引用到第二页然后一切都很好。

希望它有所帮助。