Chrome 확장 프로그램을 사용하여 쿠키를 설정하려면 어떻게해야하나요? Chrome 확장 프로그램을 통해 내 웹 페이지에 로그인하는 중입니다. sessionid
을 설정해야하지만 작동하지 않습니다.Chrome 확장 프로그램을 사용하여 쿠키를 설정할 수 없습니다.
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
{
"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'"
}
내가 크롬 확장이 샌드 박스는, 어떤 제안이 자신의 쿠키입니다했지만 무엇을 알아낼 수 있기 때문에 그것의 생각? 실제로
감사 Xan :
적절한 호출은 다음과 같이해야한다. 문제는 콘솔에 다음과 같이 쓰여 있습니다 : >>> login.js : 15 Uncaught TypeError : undefined <<<의 속성 'set'을 읽을 수 없습니다. 그러나 매니페스트에서 권한에 "쿠키"가 있습니다 ... 이것은 login.js 스크립트입니다 , not popup.js –
'login.js'는 콘텐츠 스크립트라고 가정합니다. 이 경우'chrome.cookies'를 사용할 수 없으며, 배경 스크립트에 위임해야합니다. – Xan
예, 방금 manifest에 정의했습니다 : "background": { "scripts": [ "login.js"]} 그리고 작동합니다! 고맙습니다! –