2012-06-18 74 views
0

升按鈕正在使用此代碼退出彈出重定向,但只有在退出時執行不點擊任何其他HTML重定向

var exitPop = false; 
var nonFire = false; 
window.onbeforeunload = function() { 
    if(!exitPop){ 
     exitPop=true; 
     return 'Wait! YOU ARE TODAYS WINNER!'; 
    } 
}; 

setInterval(function(){ 
    if(exitPop && !nonFire){ 
     nonFire = true; 
     window.location.href = 'http://google.com'; 
    } 
}, 200); 

但它也執行上點擊任何HTML重定向頁按鈕..我想它只有當某人關閉瀏覽器並且它應該支持所有瀏覽器時才執行。

我需要添加此只在我的網站中的一個鏈接id可以做什麼?我的意思是我使用此代碼爲重定向

<script type="text/javascript"> 

window.fbAsyncInit = function() { 
    FB.Event.subscribe('comment.create', 
    function (response) { 
     window.location = "http://domain.com"; 
    }); 
    FB.Event.subscribe('comments.remove', 
    function (response) { 
     window.location = "http://domain.com"; 
    }); 
}; 

(function() { 
    var e = document.createElement('script'); 
    e.async = true; 
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
}()); 
//]]> 
</script> 

所以我要退出功能不執行這個..所以如何整合這個

+0

當指示SO上的代碼時,用四個空格縮進。你可以使用'>'來表示blockquotes。 –

+2

個人觀點:將聽衆添加到'beforeunload'中的頁面,並且希望你留下來,因爲「你是贏家!」對網絡來說就像施工標誌下的動畫gif一樣。 –

+0

沒有好處來自強迫用戶留在您的網站上,如果它值得某人時間,並保持他們訂婚,那麼留下來,並沒有必要'等等! '今天贏家!'滑稽... –

回答

0

我沒有測試它,但你應該能夠連接「喀嗒」活動頁面上的每一個環節,應該設置一個全局變量,如

linkClicked = true; 

就可以檢查該變量在卸載事件

if (!linkClicked) // variable is false so they must not have clicked on a link 
{ 
    // Some annoying message here 
} 

聲明:這幾乎是僞代碼,它不是複製+粘貼解決方案。

+0

我需要添加此只在我的網站中的一個鏈接id可以做什麼?我的意思是我使用此代碼重定向 –

0

window.onbeforeunload不區分鏈接,後退/前進按鈕,退出按鈕或其他任何東西。如果在離開頁面時觸發,無論您如何離開頁面。

+0

我更新了我的問題看看請 –