Javascript 检查chrome插件中的按钮是否已启用
我正在开发一个chrome插件。它检查按钮是否连续启用。如果它被启用,它会单击它。我正在使用无限for循环,但浏览器冻结。我怀疑这可能不是个好主意。这里是runscript.js文件Javascript 检查chrome插件中的按钮是否已启用,javascript,jquery,google-chrome,plugins,Javascript,Jquery,Google Chrome,Plugins,我正在开发一个chrome插件。它检查按钮是否连续启用。如果它被启用,它会单击它。我正在使用无限for循环,但浏览器冻结。我怀疑这可能不是个好主意。这里是runscript.js文件 for (;;) { if ($('[class="abcd"]').disabled == false) { $('[class="abcd"]').click(); break; } else { console.log('button disabled');
for (;;) {
if ($('[class="abcd"]').disabled == false) {
$('[class="abcd"]').click();
break;
} else {
console.log('button disabled');
}
}
{
"name": "First extension",
"version": "1.0",
"manifest_version": 2,
"description": "My extension",
"browser_action": {
"default_icon": "icon.png",
"default_menu": "Menu",
"default_popup": "popup.html"
},
"icons": {
"128": "icon.png"
},
"permissions": [
"tabs",
"http://*/*",
"activeTab"
],
"content_scripts": [
{
"matches": [
"https://*/*"
],
"js": [
"jquery-3.3.1.min.js",
"runscript.js"
]
}
]
}
这里是manifest.json文件
for (;;) {
if ($('[class="abcd"]').disabled == false) {
$('[class="abcd"]').click();
break;
} else {
console.log('button disabled');
}
}
{
"name": "First extension",
"version": "1.0",
"manifest_version": 2,
"description": "My extension",
"browser_action": {
"default_icon": "icon.png",
"default_menu": "Menu",
"default_popup": "popup.html"
},
"icons": {
"128": "icon.png"
},
"permissions": [
"tabs",
"http://*/*",
"activeTab"
],
"content_scripts": [
{
"matches": [
"https://*/*"
],
"js": [
"jquery-3.3.1.min.js",
"runscript.js"
]
}
]
}
关于如何正确使用它有什么建议吗?试试下面的方法:
var i = setInterval(function() {
if ($('[class="abcd"]').prop('disabled') == false) {
$('[class="abcd"]').click();
clearInterval(i);
} else {
console.log('button disabled');
}
}, 100);
是的,没有setInterval()的无限轮询循环是个坏主意。然而,就我个人而言,我无法为这样一个插件找到一个实际的用例?