JavaScript disables page playback, refresh, and close details

Source: Internet
Author: User

Now the browser uses multiple windows. Sometimes we close the Page accidentally when writing an article. Next I will introduce you to a prompt when we close the unsaved page, if you click "OK", it will be closed.

Example 1

The Code is as follows: Copy code

<! Doctype html public "-// W3C // dtd html 4.0 Transitional // EN">
<Html> <Title> New Document </title>
</Head>
<Script language = "javascript">
Function RunOnBeforeUnload () {window. onbeforeunload = function () {return 'will lose unsaved data! ';}}
</Script>
<Body onload = "RunOnBeforeUnload ()">
Refresh, close, back, F5 Test
</Body>
</Html>

Although the onbeforeunload event has been eliminated by Web standards, only this event can achieve this effect currently. Fortunately, the browser can support it well.

Test results:

IE6.0, FireFox, and Chrome

The above is just a prompt to the user, which is totally forbidden below

The Code is as follows: Copy code

<Script language = "javascript">
// Disable the F5 key
Function document. onkeydown ()
{
If (event. keyCode = 116)
{
Event. keyCode = 0;
Event. cancelBubble = true;
Return false;
}
}

// Disable context menu
Function document. oncontextmenu ()
{
Return false;
}

// The following Code enables full screen display
Function window. onload (){
Var Request = new Array (); // Save the Parameter
Var s = location. search. substring (1 );
If (s & s! = ""){
Var list = s. split ("&");
For (var I = 0; I <list. length; I ++ ){
Var pair = list [I]. split ("= ");
If (pair [0] & pair [0]! = ""){
Request [unescape (pair [0])] = unescape (pair [1]);
}
}
}

Var fullscreen = Request ["fullscreen"];
If (fullscreen! = "Yes "){
Var file = self. location;
Var a = window. open ("about: blank", "", "fullscreen = yes ")
Self. opener = null
Self. close ()
A. location = file + "? Fullscreen = yes ";
}
}
</Script>
<Script language = "Javascript"> <! --
// Shield right-click, Ctrl + N, Shift + F10, F11, F5 refresh, and return keys
// Author: meizz (plum blossom rain) 2002-6-18
Function document. oncontextmenu () {event. returnValue = false;} // right-click the screen
Function window. onhelp () {return false} // block F1 help
Function document. onkeydown ()
{
If (window. event. altKey )&&
(Window. event. keyCode = 37) | // mask Alt + direction key seek
(Window. event. keyCode = 39) // mask Alt + direction key →
{
Alert ("You are not allowed to use ALT + arrow keys to move forward or backward the webpage! ");
Event. returnValue = false;
}
/* Note: this does not really block Alt + direction keys,
Because when the Alt + direction key pop-up warning box is displayed, press and hold the Alt key,
With the mouse clicked off the warning box, this blocking method will become invalid. If
Which of the following methods does the master really block the Alt key. */
If (event. keyCode = 8) | // shield the unregeed deletion key
(Event. keyCode = 116) | // block the F5 refresh key
(Event. ctrlKey & event. keyCode = 82) {// Ctrl + R
Event. keyCode = 0;
Event. returnValue = false;
}
If (event. keyCode = 122) {event. keyCode = 0; event. returnValue = false;} // block F11
If (event. ctrlKey & event. keyCode = 78) event. returnValue = false; // block Ctrl + n
If (event. shiftKey & event. keyCode = 121) event. returnValue = false; // block shift + F10
If (window. event. srcElement. tagName = "A" & window. event. shiftKey)
Window. event. returnValue = false; // block shift with the left mouse button to open a new page
If (window. event. altKey) & (window. event. keyCode = 115) // block Alt + F4
{
Window. showModelessDialog ("about: blank", "", "dialogWidth: 1px; dialogheight: 1px ");
Return false;
}
}
</Script>

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.