2012-04-10 441 views
0

用戶單擊按鈕時會彈出一個彈出窗口。 這個彈出窗口將進入保留頁面,並等待用戶離開網站或關閉瀏覽器。在主窗口上重定向彈出窗口關閉

然後,當用戶離開或關閉瀏覽器時,它會將彈出的位置重定向到不同的站點。

我曾嘗試下面的代碼的幾個變種:​​

win=window.open('google.com','popup'); //just to illustrate the "win" = my window.open(). 

$(window).bind('beforeunload', function() { 
    window.win.location.href="http://the-new-location.com"; 
    //tried something like this as well: 
    //win.location.href="http://the-new-location.com"; 
}); 

但沒有運氣。 我不是很聰明的JavaScript/jQuery所以任何幫助如何使這項工作將深受讚賞。

謝謝!

+0

如果有人在離開頁面之前關閉了彈出窗口,會發生什麼情況?順便說一句,你的代碼工作,但它依賴於用戶在他們的彈出窗口攔截器非常輕鬆的設置。 – 2012-04-10 12:47:50

+0

什麼都沒有。應該讓他們參加調查,但如果他們選擇在他們離開之前關閉它,那麼當他們離開現場時不會再有任何進一步發生。 – MrE 2012-04-10 12:50:07

+0

嗯好的。我嘗試了鉻合金,它似乎不適合我。只有用戶點擊一個按鈕才能打開彈出窗口。所以它不應該被阻止。 – MrE 2012-04-10 12:51:13

回答

1

我知道你已經有原型的工作,但如果你想jquery的選項:

var popup = window.open('http://google.com', 'popup'); 

$(window).unload(function() { 
    if(!popup.closed) { 
     popup.location.href = 'http://surveyurl.com/'; 
    } 
}); 

您也應該檢查,看看是否彈出。關閉在那裏。

+0

乾杯約旦:) - 我會將此標記爲答案。 – MrE 2012-04-10 17:22:53

2

我找到了一個解決方案:

win=window.open('google.com','popup'); 

window.onunload = redirect; 
function redirect(){ 
    window.win.location.href="http://the-new-url.com"; 
}; 
相關問題