在另一个网站上使用Javascript for Chrome Extension检查所有框时出现问题
Problems checking all boxes on another website using Javascript for Chrome Extension
我是Javascript的新手,请耐心等待:(
我试图创建一个谷歌Chrome扩展,它会选中特定网站上的所有框,并选择他们有的删除选项
我在网上找到了一个链接,有人在这个链接上制作了一个类似于我想要的脚本:
JavaScript选中所有复选框
我正在为我的扩展创建javascript文件,我创建了一些代码只是为了勾选所有框。不过它似乎不起作用。你能给我一些建议吗?这是我到目前为止写的代码,扩展名在.js源文件中只有这段代码,我只是要求它现在检查的所有框
我使用的布局与Chrome扩展教程相同,稍后会更改
抱歉你看起来像个傻瓜,伙计们,请帮帮我。谢谢
function check_all_in_document(doc){
var c=new Array();
c=doc.getElementsByTagName('input');
for(var i=0;i<c.length;i++){
if(c[i].type=='checkbox'){
c[i].checked=true;
}
}
}
document.addEventListener("DOMContentLoaded", function()
{
check_all_in_document(window.document);
for(var j=0;j<window.frames.length;j++){
check_all_in_document(window.frames[j].document);
}
});
这是我的manifest.json 的内容
{
"manifest_version": 2,
"name": "Getting started example",
"description": "This extension shows a Google Image search result for the current page",
"version": "2.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"activeTab",
"https://ajax.googleapis.com/"
]
}
这是我的HTML文件中的内容:
<!doctype html>
<!--
This page is shown when the extension button is clicked, because the
"browser_action" field in manifest.json contains the "default_popup" key with
value "popup.html".
-->
<html>
<head>
<title>Getting Started Extension's Popup</title>
<style>
body {
font-family: "Segoe UI", "Lucida Grande", Tahoma, sans-serif;
font-size: 100%;
}
#status {
/* avoid an excessively wide status text */
white-space: pre;
text-overflow: ellipsis;
overflow: hidden;
max-width: 400px;
}
</style>
<!--
- JavaScript and HTML must be in separate files: see our Content Security
- Policy documentation[1] for details and explanation.
-
- [1]: https://developer.chrome.com/extensions/contentSecurityPolicy
-->
<script src="popup.js"></script>
</head>
<body>
<div id="status"></div>
<img id="image-result" hidden>
</body>
</html>
好吧,令人震惊的是,我没有发现重复的(指出一个会很感激),所以这里有一个常规答案:
您的popup.html
是自己的独立文档。当您执行时
doc.getElementsByTagName('input')
您正在搜索弹出窗口本身,而不是当前活动选项卡。
由于您是扩展的新手,因此仔细阅读扩展体系结构概述,甚至整个概述页面是非常重要的。但快速TL;DR:只有内容脚本才能真正与普通选项卡的内容交互。在内容脚本中,document
指的是在选项卡中打开的实际页面,您的代码将在那里工作。
您已经拥有"activeTab"
权限,因此您可以在单击按钮后在当前页面中注入内容脚本。
chrome.tabs.executeScript(null, {file: "content.js"}); // null for current tab
将操纵DOM的代码放在文件content.js
中,并使用Messaging/Storage在扩展的各个部分之间进行通信。
最后,要注意弹出窗口在关闭时根本不存在——如果你需要与一直存在的东西交谈,那将是一个背景或事件页面。
相关文章:
- 检查xmlhttprequest问题的消息
- html单选按钮检查问题
- 在javascript中检查文件扩展名的问题
- 如何在纯 javascript 中检查元素是否有 ID?和条件语句问题
- 使用 jQuery 检查多个提交按钮时出现问题
- 当您检查时,引导按钮类重复,我怎么能解决这个问题
- jQuery 可排序问题开/关检查
- 单击时检查 Javascript 主要问题
- 检查数组是否包含数字(问题为 0)
- jQuery脚本,用于检查输入是否有任何值.IE 和 Chrome 中的问题
- 未能使用节点检查器进行调试-出现了什么问题
- 检查是否定义了对象/函数(JavaScript、Safari问题)
- 放置图像数据不起作用检查现有问题
- 在使用JQUERY提交之前检查表单输入值时出现问题
- 在检查两个数值是否都存在时出现JavaScript问题
- 检查密码匹配问题(JavaScript)
- 回文检查器问题
- jQuery检查LI's content-基于内容添加特定类-jQuery出现问题's$(这个)
- 在for循环数组检查和JSON变量方面遇到问题
- JSP文本区长度检查问题