2010-12-03 28 views
2

所以,我要的是要做到這一點:Javascript:如何獲取self.location變更事件?

if (top != self) { 
    top.location = self.location; 
} 

self.location;改變事件。 (如果真的需要,可以使用Jquery,但我不想)可能以及如何做這樣的事情?

主要想法是保持所有彈出窗口在上面。在這裏,我們嘗試修改窗口代碼,以便在用戶單擊主頁時打開新窗口。因此,我們將訂閱並收聽self.location更改事件。我不知道該怎麼做?

回答

6

你想要做'框架破壞'?或者你想知道top.location何時更改?如果是後者,我認爲這是爲了檢測對URL的哈希標記值的更改,否則位置更改會加載新頁面,因此您的JS永遠無法運行。

如果您想要檢查散列標籤更改事件(即URL中#後面的內容),請閱讀SO上的相似問題:On-Window-Location-Hash-Change

如果這是關於幀破壞,有很多關於SO的好的相關問題,如Frame Buster Buster

以及有趣的博客文章Coding Horror

1

您的意思是?

if (top.location != self.location) { top.location=self.location; } 
+0

是的,但我不需要找出它只有一次。我需要以某種方式訂閱更改事件。 – Rella 2010-12-03 00:54:41