Javascript-仅连接到VPN时从内部服务器加载图像

Javascript-仅连接到VPN时从内部服务器加载图像,javascript,jquery,request,vpn,request-promise,Javascript,Jquery,Request,Vpn,Request Promise,我的目的是通过Javascript在我们的主页上隐藏一个iframe,如果用户在家工作并且没有连接到公司VPN 为了了解最终用户是否连接到我们公司的VPN,我已将一个虚拟映像上载到我们的一个Intranet站点,我们只能在连接到VPN并尝试通过Javascript访问映像时才能连接该站点。我的代码如下: function request_image(url) { return new Promise(function(resolve, reject) {

我的目的是通过Javascript在我们的主页上隐藏一个iframe,如果用户在家工作并且没有连接到公司VPN

为了了解最终用户是否连接到我们公司的VPN,我已将一个虚拟映像上载到我们的一个Intranet站点,我们只能在连接到VPN并尝试通过Javascript访问映像时才能连接该站点。我的代码如下:

    function request_image(url) {
        return new Promise(function(resolve, reject) {
            var img = new Image();
            img.onload = function() { resolve(img); console.log('test1'); };
            img.onerror = function() { reject(url); console.log('test2'); };
            img.src = 'https://ourwebsite/Pages/Resource.aspx?ItemPath=%2fwhite.png'; 
        });
    }
    
    function ping(url, multiplier) {
        return new Promise(function(resolve, reject) {
            var start = (new Date()).getTime();
            var response = function() { 
                var delta = ((new Date()).getTime() - start);
                delta *= (multiplier || 1);
                if (delta>50) resolve(delta); 
                else reject(delta);
                console.log('this is delta: ' + delta);
            };
            request_image(url).then(response).catch(response);
            setTimeout(function() { reject(Error('Timeout')); }, 1000);
        });
    }
在主页上:

var do_ping = function() {
        ping('http://mssql04.nwhreit.com').then(function(delta) {
        }).catch(function(error) {
            document.getElementsByClassName('CanvasZoneContainer')[1].style.display='none';
        });
    };
    
    do_ping();
当我运行此代码时,我看到它总是点击
img.onerror
,因此在控制台中,无论我是否连接到VPN,我都会看到“test2”。为什么?连接到VPN时,我想点击
img.onload
。我看不出我做错了什么,任何帮助都将不胜感激

请注意,我可以转到“https://ourwebsite/Pages/Resource.aspx?ItemPath=%2fwhite.png“并成功查看图像,使链接正常工作