【发布时间】:2016-04-25 06:54:21
【问题描述】:
我正在开发一个简单的 Chrome 扩展程序,当密码输入框被聚焦时它会做一些事情。我正在使用以下内容脚本来实现相同的目的(为了提出这个问题而简化了代码)。该代码不适用于https://accounts.google.com/ 之类的页面,但它适用于https://www.linkedin.com/ 之类的页面。是因为一些 Javascript/JQuery 冲突吗?还是其他什么原因?请帮忙。我尝试使用 noConflict api,但没有帮助。
内容脚本:
var inputs = document.getElementsByTagName('input');
function foo() {
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type.toLowerCase() == 'password')
inputs[i].addEventListener("focus", bar);
}
}
function bar() {
alert(1);
}
foo();
以上脚本查找密码类型的输入元素,但不添加事件监听器。
清单:
{
"manifest_version": 2,
"name": "MyExtension",
"version": "1.0",
"options_page": "options.html",
"browser_action": {
"default_icon": "img/abcd.png",
"default_title": "MyExtension",
"default_popup": "popup.html"
},"icons": { "16": "img/abcd16.png",
"48": "img/abcd48.png",
"128": "img/abcd128.png" },"description":"abcd abcd",
"permissions": [
"storage","tabs"
],
"content_scripts": [
{
"matches": ["<all_urls>"
],
"js": ["js/content.js","js/jquery.1.8.3.min.js"],
"css": ["css/style.css"],
"run_at": "document_end",
"all_frames": true
}
],"web_accessible_resources": [
"img/*.png",
"css/*.css"
]
}
【问题讨论】:
-
您能否也提供您的
manifest.json?如果您在matches字段中声明google,上面的代码应该可以正常工作。 -
我已经在匹配字段中声明了
。我应该工作好吗?它适用于linkedin或twitter等网站! -
其实我最后也只是测试了一下,google也很好用,只要有密码输入就可以了。
-
无论如何,它可以帮助我们使用提供的 manifest.json 进行调试。
-
你不使用 jQuery,即使你使用了,你也会在脚本之后加载它。
标签: google-chrome-extension content-script