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
{
"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:未定義の<< set "のプロパティを読み取ることができません<<<しかし、マニフェストでは、アクセス許可に"クッキー "があります...これはlogin.jsスクリプトです、not popup.js –
私は 'login.js'がコンテンツスクリプトだとします。その場合は、 'chrome.cookies'を使用することはできません。バックグラウンドスクリプトに委譲する必要があります。 – Xan
はい、私はマニフェストでこれを定義しました: "background":{"scripts":["login.js"]}それは動作します!高安善! –