javascript - 使用 chrome.tabs.executeScript 选中一个框,不起作用

标签 javascript google-chrome-extension

我无法选中此页面中的复选框。

<html>
  <body>
    <form name="f">
      <input type="checkbox" name="vehicle" value="Bike" /> 1<br /></li>
    </form>
  </body>
</html>

我的 popup.js 如下:

function click(e) {
  chrome.tabs.executeScript(null,
      {code:"document.body.f.vehicle.checked='true'"});
  window.close();
}

document.addEventListener('DOMContentLoaded', function () {
  var divs = document.querySelectorAll('div');
  for (var i = 0; i < divs.length; i++) {
    divs[i].addEventListener('click', click);
  }
});

在控制台日志中,我不断收到错误:未捕获类型错误:无法读取未定义的属性“车辆”。

我的 popup.html 如下:

<!doctype html>
<html>
  <head>
    <title>Set Page Color Popup</title>
    <style>
    body {
      overflow: hidden;
      margin: 0px;
      padding: 0px;
      background: white;
    }

    div:first-child {
      margin-top: 0px;
    }

    div {
      cursor: pointer;
      text-align: center;
      padding: 1px 3px;
      font-family: sans-serif;
      font-size: 0.8em;
      width: 100px;
      margin-top: 1px;
      background: #cccccc;
    }
    div:hover {
      background: #aaaaaa;
    }
    </style>
    <script src="popup.js"></script>
  </head>
  <body>
    <div id="1">1</div>
  </body>
</html>

如有任何帮助,我们将不胜感激。

最佳答案

应该是这样的

document.f.vehicle.checked='true';

http://jsfiddle.net/PnXsE/

关于javascript - 使用 chrome.tabs.executeScript 选中一个框,不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10370819/

相关文章:

macos - 在 Mac Chrome 上使用 Selenium

angular - Angular 构建中何时生成 index.html?

javascript - 如何在选项卡切换 Google Chrome 扩展上获取新 URL?

javascript - 合并相同ID下的对象并显示在JQuery中的HTML表格中

javascript - Gulp browser-sync 不监控和注入(inject)文件

javascript - React 中的 JSX 循环

javascript - Chrome 扩展程序中的触发快捷方式

javascript - chrome 扩展弹出 textarea 焦点

javascript - 使用 CSS 或 JS 创建探照灯动画

javascript - 如何在Wordpress中使用RecordJs