사용자가 웹 사이트에 대해 활성 세션을 가지고 있는지 확인하기 위해 쿠키를 찾는 스크립트가 있습니다. 이 정보를 바탕으로 적절한 팝업 html 페이지를 보여줍니다. 확장 아이콘을 클릭 할 때마다이 옵션이 실행되기를 원하지만 한 번만 실행되는 것처럼 보입니다. 나는 뭔가를 놓친 것 같아.트리거 문제 chrome.browserAction.onClicked.addListener
어떤 도움을
cookieChecker.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.cookies.get({url: 'https://somesite.com', name: 'TOKEN'}, function(cookie) {
if (cookie) {
console.log('Cookie', cookie);
var decoded = jwt_decode(cookie.value);
var expired = isExpired(decoded);
if (expired === false) {
chrome.browserAction.setPopup({popup: 'loggedIn.html'});
}
else {
chrome.browserAction.setPopup({popup: 'loggedOut.html'});
}
}
else {
chrome.browserAction.setPopup({popup: 'loggedOut.html'});
}
})
function isExpired(token) {
var date = getExpirationDate(token);
if (date < (Date.now()/1000)) {
console.log(date, Date.now());
return true;
}
return false;
}
function getExpirationDate(token){
if (!token.exp) {
return null;
}
var expDate = token.exp;
return expDate;
}
});
manifest.json을
{
"manifest_version": 2,
"name": "Getting started example",
"description": "This extension shows a Google Image search result for the current page",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png"
},
"permissions": [
"activeTab",
"cookies",
"storage",
"https://ajax.googleapis.com/",
"https://somesite.com"
],
"background": {
"scripts": ["jwt-decode.min.js","cookieChecker.js"]
}
}
는 것은이 @wOxxOm :
당신은, 당신이
''
에 팝업을 설정해야합니다 (예 : 팝업의 자바 스크립트) 코드에서browserAction.onClicked
이벤트를 다른 곳에서 수신으로 돌아가려면 현재 'tab.url'이 무엇이든 상관없이 스크립트가 내 사이트의 쿠키를 쿼리하도록합니다. 할 수 없습니까? – Hamed