Javascript 可以在Chrome上以编程方式模拟快捷键事件吗?

Javascript 可以在Chrome上以编程方式模拟快捷键事件吗?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,是否可以在JavaScript中的Chrome上以编程方式模拟快捷键事件? 我只想在javascript中触发快捷方式事件,并在不单击图标的情况下显示chrome扩展popup.html。我尝试了很多方法,但都失败了 以下是我的javascript代码: <script> function keypressEvt() { var keyboardEvent = document.createEvent('KeyboardEvent'); var in

是否可以在JavaScript中的Chrome上以编程方式模拟快捷键事件?

我只想在javascript中触发快捷方式事件,并在不单击图标的情况下显示chrome扩展popup.html。我尝试了很多方法,但都失败了

以下是我的javascript代码:

<script>
   function keypressEvt() {
       var keyboardEvent = document.createEvent('KeyboardEvent');
       var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? 'initKeyboardEvent' : 'initKeyEvent';
       keyboardEvent[initMethod](
                'keypress', // event type: keydown, keyup, keypress
                true, // bubbles
                true, // cancelable
                null, // view: should be window
                true, // ctrlKey
                false, // altKey
                true, // shiftKey
                false, // metaKey
                0, // keyCode: unsigned long - the virtual key code, else 0
                "P".charCodeAt(0), // charCode: unsigned long - the Unicode character associated with the depressed key, else 0
            );
            document.dispatchEvent(keyboardEvent);
        }

        
        document.addEventListener('keypress', function (e) {
            console.log(event, 'ctrlKey: ' + e.ctrlKey, 'shiftKey: ' + e.shiftKey, e.char, e.key);
            e.preventDefault();

        });

        // trigger
        setTimeout(function () {
            keypressEvt()
        }, 2000)

    </script>

函数keypressEvt(){
var keyboardEvent=document.createEvent('keyboardEvent');
var initMethod=typeof keyboardEvent.initKeyboardEvent!=“未定义”?“initKeyboardEvent”:“initKeyEvent”;
键盘事件[初始化方法](
'keypress',//事件类型:keydown、keypup、keypress
对,//气泡
true,//可取消
null,//视图:应为窗口
对,//ctrlKey
false,//altKey
true,//shiftKey
false,//元密钥
0,//keyCode:unsigned long-虚拟密钥代码,否则为0
“P”.charCodeAt(0),//charCode:unsigned long-与按下的键关联的Unicode字符,否则为0
);
文件发送事件(键盘事件);
}
文档.添加的文本列表器('keypress',函数(e){
log(事件'ctrlKey:'+e.ctrlKey',shiftKey:'+e.shiftKey,e.char,e.key);
e、 预防默认值();
});
//触发
setTimeout(函数(){
keypressEvt()
}, 2000)

什么是快捷键事件?Chrome extensions中的自定义快捷键。就像:Ctrl+Shift+P,显示popup.thml