2011-04-03 72 views
0

使用.location之後,有什麼方法可以編輯iframe的innerHTML嗎?iframe使用JS編輯InnerHTML

+0

您的意思是,在將位置更改爲另一個域後?在那種情況下,沒有。 – 2011-04-03 22:15:32

回答

2

如果新頁面在您的域中,則在加載後,您可以訪問其.contentDocument屬性,該屬性是一個單獨的文檔,用於引用剛加載的頁面。如果新頁面不在您的域名中,那麼您當然不能這麼做,因爲這會違反跨站點腳本。

¹通常通過等待其加載事件,但您的新頁面也可以通過使用window.parent屬性在您的父頁面中調用一個函數。

+0

它將如何成爲一個跨站點腳本違規?它將編輯位於您自己網站上查看其他網站的HTML元素的值。 – Eric 2011-04-03 22:25:30

+0

如果您指的是iframe元素本身的值,那麼通常它沒有innerHTML,因爲它顯示的是已加載的文檔而不是其中的innerHTML。你也可以改變img元素的innerHTML。 – Neil 2011-04-03 22:32:32

+0

@Eric如果您指的是其他網站上的部分,那麼是的,這是一個問題。該網站的代碼可以與iframe交互,您的代碼也可以。您可以添加一個腳本標記,使用用戶的憑據在其網頁上執行某些惡意操作。 – yingted 2011-04-04 01:48:39