L'équivalent JavaScript de la fonction PHP die
. BTW il appelle juste exit()
(merci splattne) :
function exit( status ) {
// http://kevin.vanzonneveld.net
// + original by: Brett Zamir (http://brettz9.blogspot.com)
// + input by: Paul
// + bugfixed by: Hyam Singer (http://www.impact-computing.com/)
// + improved by: Philip Peterson
// + bugfixed by: Brett Zamir (http://brettz9.blogspot.com)
// % note 1: Should be considered expirimental. Please comment on this function.
// * example 1: exit();
// * returns 1: null
var i;
if (typeof status === 'string') {
alert(status);
}
window.addEventListener('error', function (e) {e.preventDefault();e.stopPropagation();}, false);
var handlers = [
'copy', 'cut', 'paste',
'beforeunload', 'blur', 'change', 'click', 'contextmenu', 'dblclick', 'focus', 'keydown', 'keypress', 'keyup', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'resize', 'scroll',
'DOMNodeInserted', 'DOMNodeRemoved', 'DOMNodeRemovedFromDocument', 'DOMNodeInsertedIntoDocument', 'DOMAttrModified', 'DOMCharacterDataModified', 'DOMElementNameChanged', 'DOMAttributeNameChanged', 'DOMActivate', 'DOMFocusIn', 'DOMFocusOut', 'online', 'offline', 'textInput',
'abort', 'close', 'dragdrop', 'load', 'paint', 'reset', 'select', 'submit', 'unload'
];
function stopPropagation (e) {
e.stopPropagation();
// e.preventDefault(); // Stop for the form controls, etc., too?
}
for (i=0; i < handlers.length; i++) {
window.addEventListener(handlers[i], function (e) {stopPropagation(e);}, true);
}
if (window.stop) {
window.stop();
}
throw '';
}
1 votes
Pourriez-vous nous en dire plus sur cette exigence, en nous expliquant exactement pourquoi vous essayez d'obtenir ce résultat ?
11 votes
@andynormancx, cela peut être pratique pour le débogage.
10 votes
Juste
return;
peut être suffisant selon vos besoins, il agit comme die() sans paramètres.2 votes
Si vous en avez "besoin", vous feriez mieux de repenser votre conception.
52 votes
Pourquoi la première question est toujours " pourquoi " ? pourquoi ?
0 votes
Solution
11 votes
La question est très simple et claire : elle dit " résilier le script". Cela signifie que le script est terminé. Terminé. Il ne faut plus s'attendre à ce que d'autres choses se produisent après cela. Cela ne signifie pas simplement "terminer une fonction". A
return
à partir d'une fonction (comme suggéré ici) est pas une solution parce qu'il peut y avoir d'autres choses qui vont se produire après cela et le programmeur veut les annuler ! Je pense que c'est très simple