2015-04-04 42 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:'