2014-02-19 82 views
0

differenciate我需要檢測一些瀏覽器事件(關閉,上一頁或右鍵單擊+上一次刷新)我需要顯示特定的彈出窗口哪些特定按鈕,我嘗試onbeforeunload但問題是,對於頁面中的所有更改事件,也是頁面中的按鈕以同樣的方式工作。 我正在使用backbone,jquery,js。點擊X關閉瀏覽器和後退或前一個瀏覽器按鈕在jQuery/javascript

+1

我很抱歉,你不能這樣做。 – spassvogel

+0

我在2種方式上工作:ths onbeforeunload爲結案和history.back()爲返回案例,但問題是如何檢測歷史.back或將可能發生的行動聯繫起來 – Charaf

+0

您可以替換使用pushstate的歷史記錄並在路由器中處理後面的情況。但用戶會恨你。 – Andrew

回答

0

THX你的幫助我找到了解決辦法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <title>Test</title> 
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 
    <script type="text/javascript"> 

var back = 1; 
window.onload = retour; 
function retour() 
{ 
console.log("retour "+back); 
history.pushState({page: 1}, document.title, ""); 
back = 1-back; 
} 


window.onpopstate = function(event) { 
if(back) 
{ 

alert("Return")); 
history.pushState({page: 1}, document.title, ""); 
} 
else { 
history.pushState({page: 1}, document.title, ""); 
back = 1; 
} 
}; 



var x ; 
var y ; 

function checkClose(event) 
{ 
event = event || window.event; 

if(((typeof event.clientY === "undefined") && !(((x<90) && (x>60)) || (x<30)))) 
{ 
return false; 
} 

} 
window.onbeforeunload = checkClose; 

window.onmousemove = savePosition; 


function savePosition(event) 
{ 

if(event.clientX) 
{ 
x = event.clientX; 
} 
if(event.clientY) 
{ 
y = event.clientY; 
} 

} 

</script>`enter code here` 
</head> 
<body> 
<p>Click Back Or try to close</p> 
</body> 
</html> 
相關問題