google-chrome-extension - 管理本地 cookie
问题描述
我的目标是在 localhost 域中定义一个 cookie 列表(直接在代码中)并在单击扩展图标时将其删除。我很快就卡住了,似乎该功能show()
没有执行,显然没有控制台可用于检查 chrome 扩展中的错误..我的代码有什么问题?
显现
{
"manifest_version": 2,
"version":"1.0.0",
"name": "myCookie!",
"description": "myCookie manager",
"browser_action": {
"default_popup": "popup.html"
},
"permissions": [ "cookies","storage", "tabs", "http://*/*", "https://*/*" , "nativeMessaging"],
"background": {
"scripts": ["content.js"],
"persistent": false
}
}
内容.js
function show() {
chrome.cookies.getAll({}, function(cookies) {
alert(cookies)
});
}
document.addEventListener('DOMContentLoaded', function() {
var btn = document.getElementById("btn");
btn.addEventListener('click', function() {
show();
});
});
popup.html
<!doctype html>
<html>
<head>
<title>my cookie</title>
</head>
<style type="text/css">
body {
margin: 5px;
}
h1 {
font-size: 15px;
text-align: center;
}
</style>
<body>
<button id="btn">btn</button>
</body>
</html>
解决方案
浏览器操作弹出窗口是一个普通页面,因此您需要正常加载其脚本。
- 删除
"background"
manifest.json 中的部分 - 将 content.js 重命名为 popup.js
<script src="popup.js"></script>
在结束</body>
标签之前添加
PS 而不是alert
您可以使用console.log
在弹出窗口的单独 devtools 控制台中打印,以便在弹出窗口内右键单击查看输出,然后单击“检查”。
推荐阅读
- javascript - 我可以禁用默认的 JavaScript 运算符或函数吗?
- svg - 你如何调整或设置 Font Awesome 5 SVG 的高度和宽度?
- c++ - 使用子函数的继承函数
- r - 如何使密度图正确显示极限附近的区域?
- jms - 如何将 jms 消息从托管应用程序的一个服务器发送到托管另一个应用程序的另一台服务器两者都托管在 Websphere 服务器中
- angular - Angular子组件不向父组件发送结果
- python-3.x - TypeError: 'float' 对象在尝试使用特定数学方程时不可调用
- sql - 从系统 MS SQL Server 获取列信息
- jquery - 使用 Jquery 嵌套表单字段
- mysql - MySQL SELECT 计算精度(小数点后的数字)