2016-02-19 116 views
2

我有一個彈出窗口,用戶單擊鏈接後會出現在頁面上。當用戶點擊彈出窗口中的按鈕時,它會執行一些我仍然需要的Javascript,然後將用戶重定向到另一個頁面。我試圖中斷這個重定向,並讓用戶去一個單獨的頁面,但我正在嘗試似乎沒有任何工作。取代Javascript重定向並在其他地方重定向

如果我馬上做了重定向,它可以正常工作,但是我需要運行的其他Javascript並沒有被執行。與preventDefault相同,這似乎阻止了其他Javascript發生,我仍然需要發生。我也試過用:

$(".specialImg").click(function() { 
    window.onbeforeunload = function() { 
     window.location.href = "https://example.com"; 
    }; 
}); 

但是原來的重定向還是會發生。

任何人有任何想法,我怎麼能做到這一點?我有我的處置Javascript和jQuery。我應該提到我試圖通過Optimizely來做到這一點,所以我不能編輯直接執行的代碼。

+0

'preventDefault'只是防止用戶界面元素的正常動作,它對Javascript動作沒有影響。 – Barmar

+0

'beforeunload'不允許做重定向。它所能做的只是返回一個字符串,該字符串可能顯示在「您是否真的想離開頁面?」提示。 – Barmar

回答

2

可以執行你想要的代碼,並最終重定向到其他頁面:

$(".specialImg").click(function() { 
    //Do here what you want 

    //Then in the end redirect to new page 
    window.location = "https://example.com"; 
}); 

希望這有助於。