Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
查询登录状态的URL,javascript_Javascript_Ajax_Request_Xul - Fatal编程技术网

查询登录状态的URL,javascript

查询登录状态的URL,javascript,javascript,ajax,request,xul,Javascript,Ajax,Request,Xul,这看起来似乎很简单,但我找不到一种不被认为是安全问题的方法(除了显而易见的方法) 因此,我想为Firefox构建一个附加组件,供我的团队使用。基本上,它将是一个状态栏图标,让我们知道我们的工具站点的身份验证cookie是否已过期,因此我们可以在不丢失浏览器中当前任何工作的情况下进行判断 起初我以为我可以让插件检查cookie,但对于这样一个简单的想法来说,这似乎是一个巨大的麻烦。然后我突然想到…嗯…我可以让这个插件尝试访问我们网站的主页。如果收到“拒绝访问”响应,它可以显示“未登录”图标,但如果

这看起来似乎很简单,但我找不到一种不被认为是安全问题的方法(除了显而易见的方法)

因此,我想为Firefox构建一个附加组件,供我的团队使用。基本上,它将是一个状态栏图标,让我们知道我们的工具站点的身份验证cookie是否已过期,因此我们可以在不丢失浏览器中当前任何工作的情况下进行判断

起初我以为我可以让插件检查cookie,但对于这样一个简单的想法来说,这似乎是一个巨大的麻烦。然后我突然想到…嗯…我可以让这个插件尝试访问我们网站的主页。如果收到“拒绝访问”响应,它可以显示“未登录”图标,但如果收到任何其他响应,它可以显示“已登录”

然而,所有使用AJAX实现这一点的尝试都被证明几乎和我的cookie尝试一样困难

有没有一种简单的方法,最好是使用javascript,而不是XUL

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有“暴露”选项……同时也看到类似的问题:是的,是我。我有两个谷歌账户,直到我发布了那个问题后才意识到我用错了。