Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome extension 如何从chrome扩展跟踪浏览器会话_Google Chrome Extension - Fatal编程技术网

Google chrome extension 如何从chrome扩展跟踪浏览器会话

Google chrome extension 如何从chrome扩展跟踪浏览器会话,google-chrome-extension,Google Chrome Extension,您好,我需要知道如何从google chrome extension跟踪我的网站会话。我的网站已作为google chrome中的一个扩展添加。单击扩展图标时,它将导航到我的网站主页。这是一个登录页面。因此我需要知道用户是否已登录。我希望这只能通过会话完成。但我不知道如何从chrome扩展中跟踪会话变量。请帮助我。一个解决方案是将登录状态从网页传送到扩展(如所述) 从您的网页上,您必须向分机发送消息,告知用户的登录状态 用户成功登录后,请确保通知扩展: chrome.runtime.send

您好,我需要知道如何从google chrome extension跟踪我的网站会话。我的网站已作为google chrome中的一个扩展添加。单击扩展图标时,它将导航到我的网站主页。这是一个登录页面。因此我需要知道用户是否已登录。我希望这只能通过会话完成。但我不知道如何从chrome扩展中跟踪会话变量。请帮助我。

一个解决方案是将登录状态从网页传送到扩展(如所述)


从您的网页上,您必须向分机发送消息,告知用户的登录状态

  • 用户成功登录后,请确保通知扩展:

    chrome.runtime.sendMessage(,{status:“logged in”})

  • 一旦检测到用户会话已结束(过期或由于手动注销),请确保通知分机:

    chrome.runtime.sendMessage(,{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_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>"]
    }
}
var url=”“;
/*侦听外部消息(来自网页的消息)*/
chrome.runtime.onMessageExternal.addListener(函数(msg,sender){
if(sender.url==url){
/*好的,这个页面可以和我交流*/
如果(消息状态==“已登录”){
/*酷,用户已登录*/
警报(“已登录!”);
}否则如果(msg.status==“注销”){
/*用户要离开了,真是太伤心了*/
警报(“注销!”);
}
}
});
manifest.json:

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_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>"]
    }
}
{
“清单版本”:2,
“名称”:“测试扩展”,
“版本”:“0.0”,
“背景”:{
“坚持”:假,
“脚本”:[“background.js”]
},
“外部可连接”:{
“匹配项”:[“”]
}
}