2015-04-04 72 views
0

如果我有一个像index.php这样的页面,然后包含一个iframe,但是iframe缺少包含在index.php文件中的JavaScript; JavaScript是否会激活iframe上的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

您必须引用由iframe加载的页面上的脚本。 并解释更多... 您是否需要访问由iframe加载的页面中的脚本函数? – Legends 2015-04-04 09:41:35

+0

@legends有没有什么可以实现的方法,我正在尝试做?因为对于我正在处理的任务而言,除非我可以使这一点成为可能,否则将无法工作 – Lee 2015-04-04 09:42:22

+1

请详细解释您想要做的事情。同样重要的是要知道,如果iframe将是相同的域名或不 – charlietfl 2015-04-04 09:43:40

回答

1

主页面和iframe的JavaScript环境是分开的,但如果它们来自same origin,它们可以相互交谈。

这意味着你有两个选择:

  1. 在HTML两个主面和iframe的脚本;这是最简单的

  2. 如果他们在相同的起源,主页面可以使iframe的环境,这样可用的功能(假设functionName在主要页面的函数):

    theIframe.contentWindow.functionName = functionName; 
    

    与iframe共享functionName(使其成为iframe中的全局函数)。请注意,functionName仍处于主页的环境中,因此,例如,在该函数的代码中,document将引用主页的文档,而不是iframe的文档。

+0

谢谢你这么多兄弟!这帮了我很大的忙,解决了我的问题,很高兴看到有人在尽可能少的话下站在我想说的话。 – Lee 2015-04-04 09:48:39

+0

@李烨。我曾经这样做jquery,IIRC:'