是否可以通过Chrome扩展程序检查互联网连接?

时间:2019-02-01 18:49:46

标签: javascript google-chrome-extension

我当前正在进行Chrome扩展程序,并希望有一个状态栏显示是否已连接互联网。我们学校的网络服务要求用户登录防火墙才能使用Internet。

我从Check if Internet Connection Exists with Javascript?尝试了这种方法

function hostReachable() {

    // Handle IE and more capable browsers
    var xhr = new(window.ActiveXObject || XMLHttpRequest)("Microsoft.XMLHTTP");
    var status;

    // Open new request as a HEAD to the root hostname with a random param to bust the cache
    xhr.open("HEAD", "//" + window.location.hostname + "/?rand=" + Math.floor((1 + Math.random()) * 0x10000), false);

    // Issue request and handle response
    try {
        xhr.send();
        return (xhr.status >= 200 && (xhr.status < 300 || xhr.status === 304));
    } catch (error) {
        return false;
    }
}

如果我在chrome控制台中声明此函数,则该函数有效,但是如果我将该函数放入扩展脚本中,则控制台会给我此错误。

“ CORS策略已阻止从源'null'访问'file:///?rand = 93870'处的XMLHttpRequest:仅协议方案支持跨源请求:http,数据,chrome,chrome扩展名,https。”

navigator.onLine也不起作用,因为它始终返回true。

谢谢!

0 个答案:

没有答案