管理本地主机Cookie

时间:2020-01-20 22:03:04

标签: google-chrome-extension

我的目的是在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
    }
}

content.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>

1 个答案:

答案 0 :(得分:1)

浏览器操作弹出窗口是正常页面,因此您需要正常加载其脚本。

  1. 删除manifest.json中的"background"部分
  2. 将content.js重命名为popup.js
  3. 在结束<script src="popup.js"></script>标记之前添加</body>

P.S。代替alert,您可以使用console.log在弹出窗口的单独devtools控制台中进行打印,以便在弹出窗口中右键单击输出,然后单击“检查”。