尝试在本地文件的firefox Web扩展中设置cookie时,权限被拒绝

时间:2018-07-27 19:42:56

标签: javascript firefox cookies firefox-addon firefox-webextensions

我正在尝试使用本地文件页面上的Web扩展名在Firefox中设置新的cookie,该页面是本地文件(文件协议:file:/// [...]),并且出现以下错误:< / p>

  

拒绝设置Cookie {“ domain”:“”,“ expirationDate”:null,“ firstPartyDomain”:“”,“ httpOnly”:null,“ name”:“ myCookie”,“ path”:null,“安全”:null,“ storeId”:null,“ url”:“ file:/// E:/folder/mypage.html”,“ value”:“ myvalue”}

这是我用来插入cookie的脚本:

var newCookie = {
        domain: '',
        name: 'myCookie',
        value: 'myValue',
        path: null,
        secure: null,
        httpOnly: null,
        expirationDate: null,
        storeId: null,
        url: 'file:///E:/folder/mypage.html',
    };

    if (cookie.hostOnly) {
        newCookie.domain = null;
    }
    browser.cookies.set(newCookie).then(function (e) {
        console.log('success!');
    }, function (e) {
        console.error(e);
    });

这些是manifest.json中配置的权限:

"permissions": [
    "cookies",
    "<all_urls>",
    "tabs"
],

我以为我需要额外的许可,但是我在文档中找不到与之相关的任何内容。 all_urls应该包含所有协议。

我能够使用类似这样的简单代码在devTools中手动创建cookie     document.cookie =“ myCookie = myValue”;

我还可以使用这样注入的内容脚本在页面中注入cookie     browser.tabs.executeScript({代码:document.cookie = "${newCookie.name}=${newCookie.value}"});

但是,这感觉像是一种破解,我觉得我应该能够为此使用browser.cookies API。

我在这里做什么错了?

0 个答案:

没有答案