当前位置: 首页 > 面试题库 >

在iframe中调用JavaScript函数

宋建柏
2023-03-14
问题内容

我在iframe从父页面调用JavaScript函数时遇到问题。这是我的两页:

mainPage.html

<html>
<head>
    <title>MainPage</title>
    <script type="text/javascript">
        function Reset() 
        {
            if (document.all.resultFrame)
                alert("resultFrame found");
            else
                alert("resultFrame NOT found");

            if (typeof (document.all.resultFrame.Reset) == "function")
                document.all.resultFrame.Reset();
            else
                alert("resultFrame.Reset NOT found");
        }
    </script>
</head>
<body>
    MainPage<br>
    <input type="button" onclick="Reset()" value="Reset"><br><br>
    <iframe height="100" id="resultFrame" src="resultFrame.html"></iframe>
</body>
</html>

resultFrame.html

<html>
<head>
    <title>ResultPage</title>
    <script type="text/javascript">
        function Reset() 
        {
            alert("reset (in resultframe)");
        }
    </script>
</head>
<body>
    ResultPage
</body>
</html>

(我知道document.all不建议这样做,但只能在内部使用IE浏览此页面,我不认为这是问题所在)

当我按下“重置”按钮时,我得到“找到resultFrame”和“找不到resultFrame.Reset”。似乎有对框架的引用,但无法在框架上调用该函数,为什么呢?


问题答案:

采用:

document.getElementById("resultFrame").contentWindow.Reset();

访问iframe中的重置功能

document.getElementById("resultFrame")将在您的代码中获取iframe,并在iframe中contentWindow获取window对象。拥有子窗口后,您可以在该上下文中引用javascript。



 类似资料:
  • 问题内容: 我想从iframe调用父窗口JavaScript函数。 问题答案: Call Me 参见window.parent 返回对当前窗口或子帧的父级的引用。 如果窗口没有父窗口,则其父属性是对自身的引用。 当在一个被加载的窗口,或者,它的父是与元件嵌入窗口的窗口。

  • 问题内容: 我想知道是否有可能仅在条件为真时在javascript中调用php函数。例如 有没有这样做的方法。如果是这样,请告诉我。谢谢 问题答案: 不能以上面说明的方式调用PHP函数。但是,您可以使用AJAX调用PHP脚本,代码如下所示。您也可以在这里找到一个简单的示例。让我知道您是否需要进一步澄清 使用jQuery 准系统Javascript替代

  • 问题内容: 基本上,我有一个嵌入页面的页面,并且有一些需要从父页面调用的JavaScript例程。 现在,相反的操作非常简单,因为您只需要调用,但是不幸的是,我需要恰好相反。 请注意,我的问题是不会改变的源URL的,但是调用在定义的函数。 问题答案: 假设您的iFrame的ID为“ targetFrame”,而您要调用的函数为: 您也可以使用代替访问框架。

  • 可能重复: 参考:为什么我的Javascript中的PHP代码不起作用? 我已经研究了好几天了,似乎找不到任何东西可以让我做我需要做的事情。 我试图做的是从Javascript调用另一个文件中的Php函数。我的联系人表单上有一个验证码,还有一个Javascript文件,用于检查表单并在用户遗漏任何内容时提醒用户。我的问题是我不能检查验证码。 这是我调用Javascript和Php的链接 这是我的J

  • 问题内容: 有些事情像 但是,这是 在这种情况下,“ 1”似乎没有多大意义,以下工作正常: 您能否指向ECMAScript的描述该语法的特定部分? 问题答案: 此运算符仅从左至右求值其操作数,并从第二个运算符返回值,例如: 在调用函数的上下文中,对操作数的求值将仅获取一个值,而不是引用,这将导致被调用函数内部的值指向全局对象(或者它将处于新的ECMAScript5 Strict模式下) 。 例如: