2014-12-26 56 views
1

是否有可能找到並比較我的網站和其中的跨域iframe之間的一些文本字符串? 假設我有:在跨域iframe中查找文本

<html> 
<body> 
<div><p>hello world</p></div> 
<iframe><html><body><div><p>hello world</p></div></body></html> 
</body> 
</html> 

是有可能建立一個查找和比較算法,將能夠檢查我的網站上的文字,並將其與跨域iframe中的一個比較?我是否需要使用postmessage,或者在瀏覽器屏幕內部只需簡單地查找和比較文本就可以了嗎?

+0

postMessage是唯一的方法 – Quentin

+0

如果您可以在iframe中編寫一些代碼,那麼您可以在加載iframe時觸發一個事件,然後在從父級html監聽事件時,可以檢查值。 – Indra

+0

@Indra其實iframe的內容是我的推特頁面,我想比較一些tweet文字與我的weebsite。 –

回答

1

如果域名不同,則在一個框架中運行的Javascript函數將無法訪問其他框架的DOM。您需要在兩個框架中都加載相同的方法。一種方法可以是在兩個框架中加載查找/比較JS函數,然後在一個框架中調用它。一旦在當前幀中找到密鑰,然後通過postMessage,發送事件以調用iframe中的相同功能。如果在iframe中,您也找到了相同的密鑰,那麼您可以對postMessage執行找到該密鑰的父框架。

但是,如果域名是相同的,那麼你可以通過jQuery訪問一個iframe的DOM,如:

var iframeElementContents = $("#yourIFrame").contents(); 

現在你可以在這個元素上運行您的JS功能。