Hej allen,
Ik weet niet hoe ik op een normale manier phpscripts kan toevoegen, vandaar op deze manier. Ik heb via internet een handig script gevonden voor het blokkeren van toetsen.
Zelf heb ik een popupje gemaakt en wilde dat de mensen niet meer terug konden naar de vorige pagina, dus ook niet via ALT links / rechts, F5, F11, enz.
Ik weet dat het nog wel kan via de knop back en forward op mijn toetsenbord. Iemand daar nog ideeën over?
Hier het javascript (ik zet het even in php, anders ziet het er rommelig uit)
<?php
var badKeys = new Object();
badKeys.single = new Object();
badKeys.single['8'] = 'Backspace outside text fields';
badKeys.single['13'] = 'Enter outside text fields';
badKeys.single['116'] = 'F5 (Refresh)';
badKeys.single['122'] = 'F11 (Full Screen)';
badKeys.alt = new Object();
badKeys.alt['37'] = 'Alt+Left Cursor';
badKeys.alt['39'] = 'Alt+Right Cursor';
badKeys.ctrl = new Object();
badKeys.ctrl['78'] = 'Ctrl+N';
badKeys.ctrl['79'] = 'Ctrl+O';
function checkKeyCode(type, code) {
if (badKeys[type][code]) {
return true;
} else {
return false;
}
}
function getKeyText(type, code) {
return badKeys[type][code];
}
var ie = document.all;
var w3c = document.getElementById && !document.all;
function keyEventHandler(evt) {
this.target = evt.target || evt.srcElement;
this.keyCode = evt.keyCode || evt.which;
var targtype = this.target.type;
if (w3c) {
if (document.layers) {
this.altKey = ((evt.modifiers & Event.ALT_MASK) > 0);
this.ctrlKey = ((evt.modifiers & Event.CONTROL_MASK) > 0);
this.shiftKey = ((evt.modifiers & Event.SHIFT_MASK) > 0);
} else {
this.altKey = evt.altKey;
this.ctrlKey = evt.ctrlKey;
}
// Internet Explorer
} else {
this.altKey = evt.altKey;
this.ctrlKey = evt.ctrlKey;
}
// Find out if we need to disable this key combination
var badKeyType = "single";
if (this.ctrlKey) {
badKeyType = "ctrl";
} else if (this.altKey) {
badKeyType = "alt";
}
if (checkKeyCode(badKeyType, this.keyCode)) {
return cancelKey(evt, this.keyCode, this.target, getKeyText(badKeyType, this.keyCode));
}
}
function cancelKey(evt, keyCode, target, keyText){
if (keyCode==8 || keyCode==13) {
// Don't want to disable Backspace or Enter in text fields
if (target.type == "text" || target.type == "textarea"){
return true;
}
}
if (evt.preventDefault) {
evt.preventDefault();
evt.stopPropagation();
} else {
if (keyCode==116 || keyCode==122){
evt.keyCode = 0;
}
evt.returnValue = false;
}
return false;
}
function addEvent(obj, evType, fn, useCapture) {
// General function for adding an event listener
if (obj.addEventListener) {
obj.addEventListener(evType, fn, useCapture);
return true;
} else if (obj.attachEvent) {
var r = obj.attachEvent("on" + evType, fn);
return r;
}
}
function addKeyEvent() {
// Specific function for this particular browser
var e = (document.addEventListener) ? 'keypress' : 'keydown';
addEvent(document,e,keyEventHandler,false);
}
addKeyEvent();
//To disable the right mouse button
document.oncontextmenu = new Function("return false");
?>
Misschien hebben jullie er wat aan.
Was het bij jullie ook bekend dat je een onBeforeUnload hebt. Dit is anders dan onUnload. Zo kan je bijvoorbeeld als iemand een venster afsluit om een bevestiging vragen. Bijvoorbeeld: Je gegevens zijn nog niet opgeslagen, weet u zeker dat u af wilt sluiten? .....
onBeforeUnload="return 'Hier de tekst'";
Met een if statement kan je er dan voor zorgen dat bijvoorbeeld bij het submitten deze melding niet verschijnt.
510 views