我想将特定网站的 Cookie 从 Safari 导入到 Chrome。我目前正在关注这个答案。我遇到的主要问题是我不知道如何指示我想要导入哪些 cookie。
到目前为止,我的manifest.json
文件如下所示:
{
"name": "CookieImport",
"version": "0.0.0",
"permissions": [
"cookies",
"*://*.armorgames.com/*"
],
"options_page": "options.html",
"manifest_version": 2
}
我的options.html
文件如下所示:
<!doctype html>
<html>
<head></head>
<body>
<script src="options.js"></script>
</body>
</html>
我的options.js
文件如下所示:
const allCookies = [
{
url: "https://armorgames.com",
name: "__foo",
value: "bar",
domain: ".armorgames.com",
// see all possible fields at:
// https://developer.chrome.com/extensions/cookies#method-set
},
// ... more cookies here
];
const button = document.createElement("button");
button.type = "button";
document.body.appendChild(button);
button.textContent = "Import Cookies";
button.addEventListener("click", () => {
for (const c of allCookies) {
chrome.cookies.set(c, (res) => {
console.log("set", c, res || chrome.runtime.lastError);
});
}
});
将其作为解压的扩展程序加载到 Chrome 并使用导入 Cookies 按钮后,没有任何变化。
我知道我不能将options.js
文件的名称和值部分保留为 foo 和 bar,但是我要放什么来指定要抓取哪些 cookie?
另外,我尝试省略名称和值部分,希望它能从指定域中获取所有内容;但这没有用。
答案1
此方法曾经有效:
在 Safari 的文件菜单下选择导出书签
选择合适的位置来存储文件,然后单击节省
启动 Google Chrome
在三点菜单中,选择书签 > 书签管理器
在下方的三个点菜单中,选择导入书签
导航到你从 Safari 保存的文件并选择打开。
答案2
我记得以前我用过和 Harry 上面提到的相同的方法,但不确定它是否仍然是正确的方法。
我最近通过简单地导出 html 文件并将其添加到我的新浏览器来对书签进行操作,但老实说,我不确定它是否以相同的方式对 cookie 进行操作。