查询登录状态的URL,javascript
这看起来似乎很简单,但我找不到一种不被认为是安全问题的方法(除了显而易见的方法) 因此,我想为Firefox构建一个附加组件,供我的团队使用。基本上,它将是一个状态栏图标,让我们知道我们的工具站点的身份验证cookie是否已过期,因此我们可以在不丢失浏览器中当前任何工作的情况下进行判断 起初我以为我可以让插件检查cookie,但对于这样一个简单的想法来说,这似乎是一个巨大的麻烦。然后我突然想到…嗯…我可以让这个插件尝试访问我们网站的主页。如果收到“拒绝访问”响应,它可以显示“未登录”图标,但如果收到任何其他响应,它可以显示“已登录” 然而,所有使用AJAX实现这一点的尝试都被证明几乎和我的cookie尝试一样困难 有没有一种简单的方法,最好是使用javascript,而不是XUL查询登录状态的URL,javascript,javascript,ajax,request,xul,Javascript,Ajax,Request,Xul,这看起来似乎很简单,但我找不到一种不被认为是安全问题的方法(除了显而易见的方法) 因此,我想为Firefox构建一个附加组件,供我的团队使用。基本上,它将是一个状态栏图标,让我们知道我们的工具站点的身份验证cookie是否已过期,因此我们可以在不丢失浏览器中当前任何工作的情况下进行判断 起初我以为我可以让插件检查cookie,但对于这样一个简单的想法来说,这似乎是一个巨大的麻烦。然后我突然想到…嗯…我可以让这个插件尝试访问我们网站的主页。如果收到“拒绝访问”响应,它可以显示“未登录”图标,但如果
var url = "http://example.com";
var response = pingURL(url, "blah);
status = (response = "Welcome!") ? "Signed in" : "Not Signed In";
“pingURL”将是“转到”url并获得响应的方法
function checkAccess(url, callback) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
callback(true);
} else {
callback(false);
}
}
};
}
这应该有用。。。只需调用“CuffAccess('',函数(就绪){})”;“作为一个示例,就绪是布尔值。确切地说,为什么您认为Cookie是一个巨大的麻烦?这无疑会更快,也可能更容易实施。从chrome读取Cookie是一件非常困难的事情。如果您不知道如何解析cookie,请寻求帮助。看起来不太好。我在firebug:UncaughtException:Access to restricted URI denied(NS_ERROR_DOM_BAD_URI)中仍然得到了这一点,它只是放在Chrome中。我很确定我错过了一些明显的东西。天哪,我讨厌SOP(同源政策)。但是我不认为扩展应该有它。。。你是在Chrome中运行XUL文件,作为本地文件还是从网络上运行?事实上,我自己现在也有一个SOP问题。。。很遗憾,您无法从其他地方访问localhost。我不认为Firefox有“暴露”选项……同时也看到类似的问题:是的,是我。我有两个谷歌账户,直到我发布了那个问题后才意识到我用错了。