微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从iframe外部调用javascript函数

我在一个包含javascript函数getData()的iframe中有一个完整的html openning.现在我不知道如何从该框架外部调用getData().还可以从外部javascript文件调用它吗?

解决方法

您可以从window.frames属性获取对框架窗口对象的引用.见 https://developer.mozilla.org/en/DOM/window.frames

更新:

您可以使用window [framename]访问命名iframe的全局上下文.例如:

<iframe src="data.html" name="data"></iframe>

<script>
var myData = window.data.getData();
</script>

虽然您需要确保iframe已加载.

在jQuery中,如果要访问iframe DOM,可以使用contents方法

$("iframe").contents()

所有这一切都假设框架在same domain内托管.

UPDATE [2]:

您询问是否可以从外部js文件调用getData函数.答案是肯定的(如果我理解正确的话).这是一个例子:

<html>
<head>
    <Meta charset="utf-8">
    <title>parent page</title>
</head>
<body>

    <iframe src="data.html" name="data"></iframe>
    <script src="getdata.js"></script>

</body>
</html>

然后在getdata.js文件中你有:

var dataFrame = window.data;

// when the frame has loaded then call getData()
dataFrame.onload = function () {
    var myData = dataFrame.getData();
    // do something with myData..
}

希望这能回答你的问题:)

原文地址:https://www.jb51.cc/html/232175.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐