Google chrome extension Chrome扩展内容脚本能否触发源站点接收到的键盘事件?

Google chrome extension Chrome扩展内容脚本能否触发源站点接收到的键盘事件?,google-chrome-extension,keyboard-events,Google Chrome Extension,Keyboard Events,如果在控制台本身中运行,则会显示以下代码: var $inputbox = $('input#inputfield'); var SPACE_KEYCODE = 32; var space_down = $.Event( 'keyup', { which: SPACE_KEYCODE } ); $inputbox.trigger(space_down) 我可以看到事件被触发,页面有响应 但是,当通过Chrome扩展在内容脚本中运行相同的代码时,它会无声地失败。记

如果在控制台本身中运行,则会显示以下代码:

    var $inputbox = $('input#inputfield');
    var SPACE_KEYCODE = 32;
    var space_down = $.Event( 'keyup', { which: SPACE_KEYCODE } );
    $inputbox.trigger(space_down)
我可以看到事件被触发,页面有响应

但是,当通过Chrome扩展在内容脚本中运行相同的代码时,它会无声地失败。记录“$inputbox.trigger(空格_down)”的结果显示它正确返回元素


这里的目的是让现有页面JS从扩展响应键盘事件。这可能吗?

尽管我还没有找到关于内容脚本JS“world”和源站点世界之间事件是否不同的文档,但我在内容脚本中制作了以下内容,将一些JS加载到window.location中,使其在源站点的内容中运行

// In order to send keyboard events, we'll need to send them from the page's JS
var load_into_page_context = function(file) {
    var file_url = chrome.extension.getURL(file);
    $.get(file_url, function(script_contents) {
        window.location = 'javascript:'+script_contents
    })

}

    load_into_page_context("injectme.js");

这将把injectme.js(与扩展捆绑在一起)加载到window.location中,并使生成的键盘事件激活源站点的事件处理程序。

Just Think Id指出,有很多方法可以将代码注入页面。。。。我还看到了其他一些变化