Google chrome 修改tab键的Chrome用户脚本停止工作
我有一个简单的chrome用户脚本,可以修改特定网页的tab键。 在chrome v27问世之前,这一切都很顺利。代码如下: script.js:Google chrome 修改tab键的Chrome用户脚本停止工作,google-chrome,google-chrome-extension,userscripts,Google Chrome,Google Chrome Extension,Userscripts,我有一个简单的chrome用户脚本,可以修改特定网页的tab键。 在chrome v27问世之前,这一切都很顺利。代码如下: script.js: // ==UserScript== // @name Name // @namespace http://www.someNameSpace.com/ // @description Description // @include http://weburl1.com/* // @include
// ==UserScript==
// @name Name
// @namespace http://www.someNameSpace.com/
// @description Description
// @include http://weburl1.com/*
// @include http://weburl2.com/*
// ==/UserScript==
function key_event(event){
if(event.keyCode == 9){ //get tab pressed
/* do something here */
}
}
document.addEventListener("keydown", key_event, true);
manifest.json:
{
"content_scripts": [ {
"all_frames" : true,
"exclude_globs": [ ],
"include_globs": [ "http://weburl1.com/*", "http://weburl2.com/*" ],
"js": [ "script.js" ],
"matches": [ "http://*/*", "https://*/*" ],
"run_at": "document_idle"
} ],
"converted_from_user_script": true,
"description": "Description",
"key": "kVJUyHgHhlZtX2koEeV1ZF7yYHXfLyCyprC+I18+QzI=",
"name": "Name",
"version": "1.01"
}
编辑:
我发现脚本仍在运行,但只在初始加载的帧上运行。所以我补充说
“所有框架”:正确
不起作用的舱单
我能做些什么吗?
感谢您的帮助内容脚本与当前页面不在同一上下文中。 您应该通过另一个标记注入事件处理程序
var actualCode = 'function key_event() {'
+ ' if(event.keyCode == 9){'
+ 'alert('tab');
+ '}';
var script = document.createElement('script');
script.textContent = actualCode;
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);
在Chrome版本27.0.1453.110中,脚本再次工作。
另请参见它是否调用事件侦听器?我已经更新了问题…你尝试过我的答案吗?没有,我还没有尝试过,但我在chrome debugger中测试了页面,发现脚本仍然在最初加载的帧上工作,但在随后的帧上不工作。嗯..似乎你还包括了globs,您是否在*“,”上测试扩展?