首页 > 解决方案 > 为什么 document.cookie 不是从 Chrome 扩展程序写入的?

问题描述

我正在编写一个 chrome 扩展,我只是希望能够以相同的方式添加和删除特定的 cookie document.cookie='name=val'

但是,cookie 似乎不是从我的 popup.js 文件中写入的。这可能吗?

到目前为止,这是我的扩展:

清单.json

{
    "manifest_version": 2,
    "name": "Cookie Extension",
    "version": "0.1",
    "browser_action": {
        "default_icon": "icon.png",
        "default_popup": "popup.html"
    },
    "permissions": [
        "cookies",
        "<all_urls>"
    ]
}

popup.html

<!doctype html>
<html>
    <head>
        <title>Cookie Extension</title>
        <script src="popup.js"></script>
    </head>
    <body>
        <h1>Test</h1>
        <div class="wrapper">
    `   <label class="switch">
            <input id="toggle" type="checkbox">
            <span class="slider"></span>
        </label>
    </body>
</html>

popup.js

window.onload = function(){
    const wrapper = document.querySelector('.wrapper');

    wrapper.addEventListener('change', function(e) {
        if (e.target.checked) {
            document.cookie='testCookie=true';
        } else {
            document.cookie = "testCookie=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
        }
    });
};

标签: javascriptcookiesgoogle-chrome-extension

解决方案


推荐阅读