是否有一种简单的方法可以从Chrome扩展程序中检测到用户已登录到他的Google帐户中。检测用户是否从Chrome扩展程序登录
我想通过加载一个需要验证的html/css/js资源来解决这个问题有一种讨厌的方法。 但我想以“清晰”的方式做到这一点。
THX和最好的, 尤
是否有一种简单的方法可以从Chrome扩展程序中检测到用户已登录到他的Google帐户中。检测用户是否从Chrome扩展程序登录
我想通过加载一个需要验证的html/css/js资源来解决这个问题有一种讨厌的方法。 但我想以“清晰”的方式做到这一点。
THX和最好的, 尤
一直存在铬的扩展内邮件列表上的一些讨论: http://groups.google.com/a/chromium.org/group/chromium-extensions/browse_thread/thread/6e46a3a6e46d9110/
基本上,用户建议,发送XML HTTP请求发送到谷歌.com和通过正则表达式搜索,如果当前用户已登录:
来源:纪尧姆布德罗(上铬的扩展邮件列表)
var currentUser;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data) {
if (xhr.readyState == 4) {
currentUser = null;
if (xhr.status == 200) {
var re = new RegExp(/<b class="?gb4"?>[\s]*([^<][email protected][^<]+)<\/b>/i);
var m = re.exec(xhr.responseText);
if (m && m.length == 2) {
currentUser = m[1];
}
}
console.log("Currently logged user (on google.com): " +
currentUser);
}
};
xhr.open('GET', 'https://www.google.com/', false);
xhr.send();
chrome.identity.getAuthToken({interactive: false}, function (token) {
if (!token) {
if (chrome.runtime.lastError.message.match(/not signed in/)) {
console.log("not singed in");
} else {
console.log("singed in");
}
}
});
并且不要忘记将"identity"
添加到权限。
你能否简单介绍一下如何在Chrome扩展中使用这段代码? – 2016-05-07 06:56:34
就像@KeyurPatel一样,我也希望能解释一下这段代码在做什么。 – user5508297 2016-08-17 05:30:58