2012-09-29 41 views
1

,我讀了下面應該按順序使用JavaScript訪問一個iframe的內容合作:訪問JavaScript的iframe的領域

document.getElementById("iframe_name").contentDocument 

document.getElementyById("iframe_name").contentWindow.document 

然而,無論這些方法爲我工作。我嘗試訪問的iframe是我創建的Google表單。這是我爲我的網站創建的註冊表單。我想對用戶輸入的一些字段進行一些計算,然後在iframe之後顯示它。使用javascript訪問這些字段是我能想到的最佳方式。爲什麼我無法訪問它?有沒有更好的方法來實現我的目標?謝謝。

+0

這看起來正確。什麼告訴你這些方法不起作用? – Christophe

回答

0

你有什麼是正確的。下面是一個更完整的,應該工作的跨瀏覽器的序列:

var ifr=document.getElementById("iframe_name"); 
var doc=ifr.contentWindow||ifr.contentDocument; 
if (doc.document) doc=doc.document; 

更新:作爲另一個答案說,這不會跨多個域,如果你嘗試從mydomain.com訪問google.com工作(例如)。

0

我不知道你希望做什麼,但也許這將幫助你..

我用這個重新加載框架

document.getElementById('graphFrame').contentDocument.location.reload(true); 

你可以看到位置屬性與iframe。

接下來,我正在改變這樣的Iframe內的div。

top.frames["graphFrame"].document.getElementById('right_example'); 

所以top.frames是頁面框架的數組。那麼我正在尋找一個dom元素,他的ID是「right_example」,那麼你可以做任何你想要的。

1

您無法從服務器訪問google.com等外部網頁。

+1

是的,我想就是這樣。謝謝。無論如何,我最後所做的只是將代碼複製到iframe(它只是一個Google表單)中,然後我可以同時操縱它,但是我想要並且我也可以訪問它。最後,它所做的就是POST請求(對Google爲表單創建的某個URL)。感謝大家。 –