2013-05-02 33 views
3

我如何能夠儘快一個jQuery/JS重定向像執行的jQuery/JS代碼後...如何執行一些的jQuery或JavaScript代碼重定向已完成

$(location).attr('href','/target_path'); 

...或...

window.location.href = "/target_path"; 

...已完成加載新頁面?

具體而言,我需要傳遞一條警報消息並將其插入並在新頁面中顯示它(包含在一些HTML中)。

+2

爲什麼不使用新的頁面中在onload回調函數? – 2013-05-02 15:34:17

+2

您需要使用查詢字符串或cookie將信息傳遞到新頁面。 – SLaks 2013-05-02 15:34:35

+1

您可以將代碼放入新頁面的標準DOM就緒$()處理程序 – RBZ 2013-05-02 15:34:44

回答

2

不可能告訴JavaScript在重定向後執行一些代碼。

但是你有不同的選擇:

  1. 傳中,重定向URL字符串,然後做一些事情上的「準備」
  2. 存儲在cookie中的一些信息,然後做一些事情上的「準備」
  3. 存儲一些數據使用DOM storage(即sessionStorage),如果你不介意較小的瀏覽器支持
+0

很好解釋。上投票。 – 2013-05-02 15:37:39

6

你不能。一旦重定向發生,你不再在該頁面上。您不能在不再使用的頁面上執行代碼。如果你想讓下一頁做些什麼,那麼你需要通過cookie或URL參數傳遞一個標誌,指示它這樣做。

0

你不能在重定向頁面中做到這一點。您可以閱讀着陸頁上的引薦來源(document.referrer),然後決定是否顯示基於此的警報。

0
var x = "It's some text"; 
var loc = '/target_path'; 

loc += '?message=' + encodeURI(x); 

新頁面上的JS文件可以查看查詢字符串以查看消息是否存在,並在檢測到消息時執行所需操作。

您可以在新頁面上使用window.location.search來查看這裏有什麼,儘管我建議在庫中尋找一個deparam函數來將查詢字符串轉換爲更有用的對象。

相關問題