我正在制作 Chrome扩展程序,在网页上注入iframe 并显示一些内容。
iframe中加载的内容来自https://example.com,我对完全控制。我正试图通过document.cookie
从iframe(我认为应该可用)访问https://example.com的Cookie。这不是让我访问httponly标记的cookie,我不知道这个的原因。毕竟这不是跨域。是吗?
这是我用来获取cookie的代码
jQuery("#performAction").click(function(e) {
e.preventDefault();
console.log(document.domain); // https://example.com
var cookies = document.cookie;
console.log('cookies', cookies);
var httpFlaggedCookie1 = getCookie("login_sess");
var httpFlaggedCookie2 = getCookie("login_pass");
console.log('httpFlaggedCookie1 ', httpFlaggedCookie1 ); // shows blank
console.log('httpFlaggedCookie2 ', httpFlaggedCookie2 ); // shows blank
if(httpFlaggedCookie2 != "" && httpFlaggedCookie2 != ""){
doSomething();
} else{
somethingElse();
}
});
有什么建议可以为此做些什么?
答案 0 :(得分:2)
Chrome默认情况下为HttpOnly cookies are prevented to be read and written in JavaScript。
但是,由于您正在撰写Chrome扩展程序,因此您可以使用chrome.cookies.get
和chrome.cookies.set
进行读/写,并在cookies
中声明manifest.json
权限。请注意,chrome.cookies
只能在后台页面中访问,因此您可能需要对Message Passing