0
如何使用Chrome擴展程序設置Cookie?我正在通過Chrome擴展程序登錄我的網頁。我必須設置sessionid
,但它不起作用。無法使用Chrome擴展程序設置Cookie
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,但想不出做什麼,有什麼建議?
謝謝克桑。問題是控制檯說:>>> login.js:15 Uncaught TypeError:無法讀取undefined <<的屬性'set'<但是在清單中,權限中有「cookies」...這是一個login.js腳本,而不是popup.js –
我假設'login.js'是一個內容腳本。在這種情況下,你不能使用'chrome.cookies',並且必須把它委託給後臺腳本。 – Xan
是的,我剛剛在清單中定義它:「背景」:{「scripts」:[「login.js」]},它的工作原理! Thanx Xan! –