繁体   English   中英

我无法从iframe中调用父函数

[英]i'm unable to call the parent function from within iframe

我已经看到了与此有关的其他帖子,但是由于某种原因,以下方法无效。

onclick="parent.testing();" 

现在查看全文。 我有一个index.html,其中包含所有JS文件。 同样在索引中,我有一个空的'div'标签。 使用jQuery,我将page1.html文件附加到空的“ div”。 所以索引有点像这样:

<html>
<head>
<script files>
<script>
ready { function testing(){do stuff;} }
</script>
</head>
<body>
<div><iframe src="page1.html" (added via jQuery)></div>
</body>
</html>

现在在page1.html文件中,当我单击链接时,我正在尝试调用一个函数。 但我收到以下错误:

Uncaught TypeError: Cannot call method 'testing' of undefined 

我也尝试了以下方法,但是它们没有起作用:

onclick="window.testing();"
onclick="window.frames[0].testing();" 

您的父页面脚本不是有效的JavaScript,但假设ready { ... }

<script>
ready { function testing(){do stuff;} }
</script>

...是一种简化形式,它代表了一个文档就绪处理程序,您正在将testing()声明为该就绪处理程序中的本地函数,因此只能从该就绪处理程序中对其进行访问。 您需要在父页面中将testing()全局:

<script>
$(document).ready({ /* your on ready stuff here */ });

function testing(){ /* do stuff; */ }
</script>

...然后您应该可以使用parent.testing()从iframe调用它。

如果我理解您的问题,那么您的问题就是您的函数没有被调用,对吧? 因此,也许一个解决方案是将其放在您的“ page1.html”中

<script type="text/javascript" src="your_js_file"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM