2011-02-10 106 views
0

當單擊網頁上的某個鏈接以獲取新URL並以某種方式處理它時,是否可以處理URL更改?通過javascript處理URL更改

我也可以做同樣的事情,但在我的網頁內的一些iframe?我知道如果iframe中的url不在我的域上,我不能在iframe上執行任何JavaScript,但也許可能只是獲取iframe的新掛起url。

如果第二個問題需要某些服務器端解決方案,那麼最準確和最正確的解決方案是什麼?

回答

0

您不能以任何方式訪問IFRAME,除非它在相同的域中,除了將其發送到新頁面,但不能從iframe AFAIK獲取當前網址。

關於網頁中的URL更改,您可以在切換之前向所有鏈接添加事件以調用某個功能,也可以使用onbeforeclose事件來執行某些操作。

1

如果您希望所有鏈接都由JavaScript處理,那麼最好使用JS庫。

E.g.與jQuery:

$("a").click(function(){ 
    var link = $(this).attr("href"); 
    /* Here your function 
    In this example I'm just following the link. */ 
    document.location=link; 
    return false; 
}); 

我不認爲你可以捕獲事件的源自另一個域上的iframe。

+0

一個庫當然不需要處理所有鏈接點擊事件。這些事件通過文檔樹中的祖先傳播並可以在任何階段處理。搜索「事件冒泡」以獲取更多信息。 – 2011-02-10 12:16:57