首页 > 解决方案 > 管理本地 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>

标签: google-chrome-extension

解决方案


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

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

PS 而不是alert您可以使用console.log在弹出窗口的单独 devtools 控制台中打印,以便在弹出窗口内右键单击查看输出,然后单击“检查”。


推荐阅读