Pourquoi déclencher l'événement de presse F11 ne fonctionne pas?

Je viens de lire cette question: page en plein écran en appuyant sur le bouton au lieu de F11
L'op demandé à remplacer F11 par d'autres touches d'accès rapide, alors je me demande si je peux simuler la presse F11 pour que les choses fonctionnent.
J'ai appris que je peux utiliser déclenchement dans JQuery pour simuler un événement de presse de touche, alors je fais quelque chose comme ça:

$("body").keyup(function (e) { alert(e.which); }); var e = $.Event("keyup"); e.which = 122; // # Key code of F11 $("body").trigger(e); 

Quand je l'exécute, j'ai reçu l'alerte 122, mais il semble que cela ne donne pas le résultat escompté. Existe-t-il une restriction là-bas?

J'ai fait un violon ici: http://jsfiddle.net/ap295/5/

Je pense que c'est l'un 🙂 pour le détecter …

 $(document).keyup(function(e){ if(e.which==122){ e.preventDefault();//kill anything that browser may have assigned to it by default //do what ever you wish here :) alert('F11 pressed'); return false; } }); 

Mais déclenchant ( PAS POSSIBLE )

Mais vous n'empêcherez pas le navigateur à partir du plein écran 🙂 … Reson est donné, disons que je l'ai complètement examiné de quelque façon, et je souhaite le désactiver à l'aide de F11, mais vous m'empêchez, je devrais redémarrer le PC , [Les analphabètes d'ordinateur] qui présentent un risque de sécurité car vous empêchez un utilisateur de faire quelque chose qu'il s'attend à faire, et ils pourraient penser que le PC est cassé ou quelque chose 🙂 alors … vous êtes là.

Tu ne peux pas faire ça. La réponse liée dans cette question fournit un moyen avec jQuery de simuler des pressions de clé, dans le cadre de l'événement jQuery.

Vous ne pouvez simplement pas déclencher ou fausses pressions de touches. La réponse de cette question est donc:

Non, c'est impossible

Vous ne pourrez pas remplacer les raccourcis clavier intégrés du navigateur à partir d'une page Web.

Vous pourriez peut- être le faire dans une extension de navigateur, mais ce serait certainement une surpêche sérieuse juste pour changer les raccourcis clavier de l'application.

En tout cas, pourquoi voudriez-vous remplacer les raccourcis clavier standard? Je n'obtiens pas ça. Ils ont été standard depuis longtemps; La plupart des utilisateurs les connaîtront, et il sera très étrange s'ils ont changé d'autre chose.

Ne regardez pas est comme une question de "Comment déclencher F11?" – regarder comme "Comment déclencher ou simuler un écran plein?"

Avec les anciennes versions d'IE, vous pouvez ouvrir une nouvelle fenêtre directement en plein écran:

 window.open(someURLorOther, '', 'fullscreen=yes, scrollbars=auto'); 

Ou vous pouvez utiliser window.open pour ouvrir une nouvelle fenêtre d'une taille spécifique.

Ou vous pouvez essayer de redimensionner la fenêtre actuelle pour remplir l'écran:

 moveTo(0,0); resizeTo(screen.availWidth,screen.availHeight); 

Cependant, simplement parce que vous ne pouvez pas dire que vous le devriez . Vous ne devriez jamais redimensionner la fenêtre actuelle – cela dérange pratiquement tout le monde. L'ouverture d'une nouvelle fenêtre à une taille que vous choisissez est plus raisonnable, mais si elle est trop grande, elle peut être ennuyante et sur une page Web normale (où, par «normal», je ne veux probablement pas une sorte d'application de données basée sur le navigateur) Il est préférable de ne pas ouvrir de nouvelles fenêtres.