Хотя я не смог найти документацию о том, различаются ли события между «миром» JS сценария контента и миром сайта происхождения, в скрипте контента я сделал следующее, чтобы загрузить 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 и заставит сгенерированные события клавиатуры активировать обработчики событий исходного сайта.