javascriptはウェブページが閉じるかそれとも更新するかを判断します.
4769 ワード
原理とは、ページ行動時間Onloadトリガ時間を離れることによって、この時のブラウザのウィンドウサイズを検出し、サイズによってユーザがリフレッシュ、ジャンプまたはクローズアクションプログラムであると判断することです.
コードは以下の通りです
jsタグはオンロadonunloadonbeforeunloadイベントだけで、oncloseイベントはありません.
ページが閉じられていても、更新されていても、ワンロードイベントが実行されます.
どのようにしてページを閉じますか?ページの読み込みはワンロードページのクローズ時のみワンロードページの更新を実行する場合は、まずワンバーforevunloadを実行し、その後ワンロードを実行します.
このように、私達はObeforeunloadにマークを付けて、Ounloadでこのマークを判断して、ページが本当に閉じるかどうかを判断することができます.
コードは以下の通りです
コードは以下の通りです
以上の内容はこの記事で紹介したjavascriptはウェブページが閉鎖されているかそれとも更新されているかを判断します.
コードは以下の通りです
window.onunload = function(){
var a_n = window.event.screenX - window.screenLeft;
var a_b = a_n > document.documentElement.scrollWidth-20;
if(a_b && window.event.clientY< 0 || window.event.altKey){
alert(' ');
}else{
alert(' ');
}
}
ブラウザの右上の閉じるボタンを使うと使いやすいですが、タブで閉じるとタスクバーで閉じるという方法は機能しません.jsタグはオンロadonunloadonbeforeunloadイベントだけで、oncloseイベントはありません.
ページが閉じられていても、更新されていても、ワンロードイベントが実行されます.
どのようにしてページを閉じますか?ページの読み込みはワンロードページのクローズ時のみワンロードページの更新を実行する場合は、まずワンバーforevunloadを実行し、その後ワンロードを実行します.
このように、私達はObeforeunloadにマークを付けて、Ounloadでこのマークを判断して、ページが本当に閉じるかどうかを判断することができます.
コードは以下の通りです
上の方法では多タブのブラウザを判断できません.360、ie 8のように、次を見てください.コードは以下の通りです
function CloseOpen(event) {
if(event.clientX<=0 || event.clientY<0) {
//
var date=new Date();
// date
alert(" ");
date.setTime(date.getTime()-10000);
// userId cookie
document.cookie="zhuangtao;expire="+date.toUTCString();
document.cookie="quanxianzifucuan;expire="+date.toUTCString();
document.cookie="quanxian;expire="+date.toUTCString();
s0 += " !"; sw = 1;
onbeforeunload();
// window.event.returnValue = ' .';
}
else
{
alert(" ");
}
}
var currentKeyCode = -1;
function document.onkeydown() { //
top.currentKeyCode = event.keyCode;
}
function onbeforeunload(){
var sw = 0, s0 = "";
if (currentKeyCode == 116)
{
s0 += " !(F5)";
}
else
{
if ((event.altKey)&&(currentKeyCode == 115))
{
s0 += " !(alt+F4)"; sw = 1;
//
var date=new Date();
// date
alert(" ");
date.setTime(date.getTime()-10000);
// userId cookie
document.cookie="zhuangtao;expire="+date.toUTCString();
document.cookie="quanxianzifucuan;expire="+date.toUTCString();
document.cookie="quanxian;expire="+date.toUTCString();
}
else
{
if ((event.clientX > 0)&&(event.clientX < document.body.clientWidth))
{
s0 += " !";
}
else
{
//
var date=new Date();
// date
alert(" ");
date.setTime(date.getTime()-10000);
// userId cookie
document.cookie="zhuangtao;expire="+date.toUTCString();
document.cookie="quanxianzifucuan;expire="+date.toUTCString();
document.cookie="quanxian;expire="+date.toUTCString();
s0 += " !"; sw = 1;
}
}
}
if (sw == 1)
{
event.returnValue = "";
}
else
{
currentKeyCode = -1;
}
}
上にはタスクバーでは使えないだけです.基本的に私達の要求を満たすことができます.以上の内容はこの記事で紹介したjavascriptはウェブページが閉鎖されているかそれとも更新されているかを判断します.