Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查chrome插件中的按钮是否已启用_Javascript_Jquery_Google Chrome_Plugins - Fatal编程技术网

Javascript 检查chrome插件中的按钮是否已启用

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');

我正在开发一个chrome插件。它检查按钮是否连续启用。如果它被启用,它会单击它。我正在使用无限for循环,但浏览器冻结。我怀疑这可能不是个好主意。这里是runscript.js文件

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()的无限轮询循环是个坏主意。然而,就我个人而言,我无法为这样一个插件找到一个实际的用例?