2016-02-19 68 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"; 
}); 

希望这有助于。