[英]Can't set cookie using Chrome Extension
如何使用Chrome擴展程序設置Cookie? 我正在通過Chrome擴展程序登錄我的網頁。 我必須設置sessionid
但是它不起作用。
success
警報功能是可見的,但是它既不登錄也不重定向頁面。
$(document).ready(function () {
$('#login-button-id').click(function () {
var login = $('#input-email-id').val();
var password = $('#input-password-id').val();
$.ajax({
url: 'http://127.0.0.1:8000/api/authenticate',
type: 'POST',
data: {
'login': login,
'password': password
},
success: function (data) {
$.cookie('sessionid',data.sessionid);
chrome.cookies.set({"sessionid":data.sessionid});
alert("You are logged in");
window.location.href = "http://127.0.0.1:8000/admin";
},
error: function (jqXHR, textStatus, errorThrown) {
console.log("JQuery failed: " + textStatus + " with error thrown: " + errorThrown);
console.log(jqXHR);
}
})
});
$('#logout-button-id').click(function () {
})
});
表現
{
"manifest_version": 2,
"name": "xyz",
"description": "This is a plugin collaborating with xyz.com",
"version": "1.0",
"browser_action": {
"default_icon": "spy-icon.png",
"default_popup": "popup.html",
"default_title": "Click here!"
},
"permissions": [
"activeTab",
"https://ajax.googleapis.com/",
"cookies",
"<all_urls>"
],
"content_security_policy": "script-src 'self' https://ajax.googleapis.com; object-src 'self'"
}
我想這是因為Chrome擴展程序是一個沙箱,因此它具有自己的Cookie,但不知道該怎么辦,有什么建議嗎?
我想這是因為Chrome擴展程序是一個沙箱,因此它擁有自己的Cookie
確實,由於您試圖從擴展程序自己的頁面中使用它,因此它將您嘗試通過$.cookie
設置的cookie綁定到擴展程序自己的來源( chrome-extension://somelongextensionidhere/
)。 所以這行不通。
至於chrome.cookies.set
,您需要閱讀有關如何使用它的文檔!
正確的調用應如下所示:
chrome.cookies.set({
url: "http://127.0.0.1:8000/",
name: "sessionid",
value: data.sessionid
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.