我已经看过关于此的其他帖子,但以下方法由于某种原因无效。
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();"
答案 0 :(得分:1)
您的父网页脚本无效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中调用它。
答案 1 :(得分:0)
如果我理解你的问题,你的问题是你的功能没有被调用,对吗?所以也许一个解决方案是把它放在你的“page1.html”
中<script type="text/javascript" src="your_js_file"></script>