如果我要有index.php
这样的网页,然后包含iframe,但iframe缺少index.php文件中包含的JavaScript; JavaScript会激活iframe上的JavaScript函数,还是需要它们在同一页面上?
示例:
的index.php:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="http://example.com/js/jquery.jplayer.min.js"></script>
包含以下两个代码,而iframe需要它们,但没有在页面上列出。
答案 0 :(得分:1)
主页面和iframe的JavaScript环境是分开的,但如果它们来自same origin,它们可以相互通信。
这意味着您有两种选择:
在主页和iframe的HTML中包含脚本;这是最简单的
如果它们在同一个原点,主页面可以在iframe的环境中使其功能可用(假设functionName
是主页面中的一个功能):
theIframe.contentWindow.functionName = functionName;
与iframe共享functionName
(使其成为iframe中的全局函数)。请注意,functionName
仍然在主页面的环境中,因此,例如,在该函数的代码中,document
将引用主页的文档,而不是iframe的文档。