我有一個包含大部分內容的大型iframe。用戶通過點擊iframe中的內容與網站進行交互。我試圖建立的功能是:當用戶離開我的網站時,我會幫他們忙個不停。檢測iframe是否跨域時,然後破除它
iframe有一個onload事件,每次加載新頁面時都會觸發onload事件,這是跨域的。
<iframe id="testframe" src="http://mysite.com" onload="testframe_loaded()"></iframe>
事件被觸發每一次,我正在尋找一些方法來:
一個)檢測當用戶導航到不同的域
乙)出局的iframe。
我懷疑B是不可能的,因爲瀏覽器不給訪問
document.getElementById("testframe").contentDocument.location.href
當iframe是跨域。我也不確定A是否可能。
如果有人對如何實現這一目標有所瞭解,或者肯定它不能完成,我會很感激這個建議。
感謝
我將測試try/catch方法..我總是忘記JavaScript支持:)雖然Polling不是必需的,因爲每次iframe的onload事件被觸發時我都可以測試它。 – Emmett 2010-03-02 19:07:16
這絕對有效,並證明A是可能的。不幸的是,B仍然看起來不可能 - 擴展iframe的作品,但它仍然不可靠,因爲瀏覽器的地址欄中的網址與正在顯示的網站不匹配。 我會嘗試通過修改其他答案所建議的鏈接的解決方案,將點擊處理程序附加到每個檢查href屬性是否跨域的鏈接。 – Emmett 2010-03-02 20:35:44
Emmett,點擊處理程序的作品,但只適用於/ your/links,而不是iframe中的鏈接。 – 2010-03-02 20:48:28