2

如何从父窗口调用 ifram 中的 javascript 函数。我有一个包含 iframe 的 jsp 页面。jsp 页面由“a.yeama.net”服务器提供服务,而 iframe 由“b.yeama.net”服务器提供服务。

<iframe width="1200" height="640" name="data" id="dataId" >
</iframe>   
<br/>
<input type="button" name="data" value="Save data" onclick="callSaveData();" />

从父 jsp 页面尝试以下代码并在 IE 中收到权限被拒绝错误

window.frames['data'].callData();

也试过

document.getElementById('dataId').contentWindow.callData(); //didn't work

iframe 中的函数

window.callData = function(){
   alert('Iframe function');
}

非常感谢您的帮助。

4

2 回答 2

1

你可以通过在一个通用的 .js 文件中声明你的函数来做到这一点。因此,你可以从任何你想要的地方访问你的函数。

祝你今天过得愉快

于 2012-07-07T07:46:52.490 回答
1

我建议您使用 jquery.load 方法而不是 iframe 将您的第二页加载到第一页的 div 中,然后您可以从两个页面调用任何方法

$('#result').load('PageWhichYouAreOpeningInIFrame.html');

或者如果您仍然想使用 IFrame,那么您可以使用:

从父页面调用 iframe 中的 JavaScript 代码

http://api.jquery.com/load/

于 2012-07-07T08:06:52.110 回答