2013-11-22 5 views
1

안녕하세요. Google 크롬 확장 프로그램에서 내 웹 사이트의 세션을 추적하는 방법을 알아야합니다. 내 웹 사이트가 Google 크롬의 확장 프로그램으로 추가되었습니다. 확장 아이콘을 클릭하면 탐색됩니다 내 웹 사이트의 홈 페이지로 이동합니다. 로그인 페이지입니다. 그래서 사용자가 로그인했는지 여부를 알아야합니다. 세션을 통해서만 수행 할 수 있기를 바랍니다.하지만 세션 변수를 추적하는 방법을 모르겠습니다. 크롬 확장. 제발 도와주세요.크롬 확장 프로그램에서 브라우저의 세션을 추적하는 방법

답변

3

한 가지 해결책은 웹 페이지에서 내선 번호로 로그인 상태를 교환하는 것입니다 (exlained here).


웹 페이지에서 사용자의 로그인 상태를 알리기 위해 내선 번호로 메시지를 보내야합니다. 사용자가 성공적으로 로그인하면

  • , 당신은 확장 노하우를 할 수 있는지 확인하십시오 당신이 감지되면 만료 또는 인해 하나의 세션이 종료 된 사용자는 (수동으로 로그 아웃하는 것을

    chrome.runtime.sendMessage(<your_extension_id>, { status: "logged in" });

  • chrome.runtime.sendMessage(<your_extension_id>, { status: "logged out" });

:), 당신은 확장 노하우를 할 수 있는지 확인

내선에서 웹 페이지의 메시지를 수신하고 이에 따라 업데이트합니다.

확장 소스 코드 :

background.js :

var url = "<the_url_of_your_webpage_that_sends_messages>"; 

/* Listen for external messages (messages from web-pages) */ 
chrome.runtime.onMessageExternal.addListener(function(msg, sender) { 
    if (sender.url == url) { 
     /* OK, this page is allowed to communicate with me */ 
     if (msg.status === "logged in") { 
      /* Cool, the user is logged in */ 
      alert("Logged in !"); 
     } else if (msg.status === "logged out") { 
      /* How sad, the user is leaving */ 
      alert("Logged out !"); 
     } 
    } 
}); 

의 manifest.json :

{ 
    "manifest_version": 2, 
    "name": "Test Extension", 
    "version": "0.0", 

    "background": { 
     "persistent": false, 
     "scripts": ["background.js"] 
    }, 

    "externally_connectable": { 
     "matches": ["<the_url_of_your_webpage_that_sends_messages>"] 
    } 
} 
관련 문제