Why trigger F11 press event doesn't work?

前端 未结 4 909
梦毁少年i
梦毁少年i 2020-12-06 11:24

I just read this question: Full Screen Page by pressing button instead of F11
The op asked to replace F11 with other hot keys, so I\'m wondering that maybe I

相关标签:
4条回答
  • 2020-12-06 12:06

    You won't be able to override the browser's built-in hotkeys from within a web page.

    You might be able to do it in a browser extension, but that's would surely be serious overkill just to change the application's hotkeys.

    In any case, why would you even want to override the standard keyboard shortcuts? I don't get that. They've been standard for a long time; most users will be familiar with them, and will find it very odd if they've been changed to something else.

    0 讨论(0)
  • 2020-12-06 12:06

    Don't look at is as a question of "How do I trigger F11?" - look at is as "How do I trigger or simulate full-screen?"

    With older versions of IE you can open a new window straight into full-screen:

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

    Or you can use window.open to open a new window of a specific size.

    Or you can try to resize the current window to fill the screen:

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

    However just because you can doesn't mean you should. You should never resize the current window - this annoys practically everyone. Opening a new window to a size you choose is more reasonable, though if it's too big it can be annoying, and on a normal web page (where by "normal" I probably mean not some kind of browser-based data-entry app) it is nicer not to open new windows.

    0 讨论(0)
  • 2020-12-06 12:10

    You can not do this. The linked answer in that question provides a way with jQuery to simulate key-presses, within the jQuery event framework.

    You simply can not trigger or fake keypresses. So the answer of this question is:

    No, this is impossible

    0 讨论(0)
  • 2020-12-06 12:12

    I think this is the one :) to detect it ...

    $(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;
       }
    });
    

    but triggering it (NOT POSSIBLE)

    But you will not prevent the browser from full screen :) ... Reson given is that , lets say I have full screened it somehow, and wish to toggle out of it using F11 but u are preventing me, I would have to restart PC, [computer illiterates] which poses security risk as you are preventing a user from doing something he is expecting to do, and they may think PC is broken or something :) so ...there you are.

    0 讨论(0)
提交回复
热议问题