如何禁用 glimpse 更新检查请求?

How to disable glimpse update check request?

我注意到 glimpse 通过 https://getglimpse.com/Api/Version/Check?Glimpse.Ado=1.7.3&Glimpse.AspNet=1.9.2&Glimpse=1.8.6&Glimpse.EF6=1.6.5&Glimpse.Mvc5=1.5.3&stamp=1450129430335&callback=glimpse.versionCheck.result 检查客户端是否有任何更新。

http://prntscr.com/9edgdy

也无法完成请求,因为 link 的证书无效,

如何禁用它?

Web.config<appSettings> 中设置 <add key="GlimpseVersionCheckAPIDomain" value="240.0.0.1" />

这会将本应转到 getglimpse.com 的任何调用重新配置为 black hole。我对此进行了测试并确认零 phone-home 尝试,现在页面加载速度更快。

相关代码在:Glimpse.Core/Resource/VersionCheckResource.cs

var domain = ConfigurationManager.AppSettings["GlimpseVersionCheckAPIDomain"];

        if (string.IsNullOrEmpty(domain))
        {
            domain = "getGlimpse.com";
        }

        return new CacheControlDecorator(OneDay, CacheSetting.Public, new RedirectResourceResult(@"//" + domain + "/Api/Version/Check{?packages*}{&stamp}{&callback}", data));

为 Url 更改具有不同或环回地址的配置不会停止 Glimpse 发出请求版本检查请求。我发现版本检查是从客户端函数 versionCheck.

触发的

这是一个修复程序,我想出了如何在 glimpse 对象上禁用函数 versionCheck

document.addEventListener("DOMContentLoaded", function () {
    // A wierd fix to wait until glimpse is initialized.
    setTimeout(turnoffGlimpseVersionCheck, 100);
});

function turnoffGlimpseVersionCheck() {

    if (typeof glimpse == 'undefined') {
        console.log("glimpse not found!")
    }
    else {
        console.log(glimpse.settings);
        glimpse.versionCheck = function () { };
        console.log("glimpse updates turned off!!")
    }
}

它可能看起来不太好,但它会起到作用。

更新

这是一个更新更好的版本:

<script>

    document.addEventListener("DOMContentLoaded", function () {
        var scripts = document.getElementsByTagName("script");
        var isGlimpseLoaded = false;
        for (var i = 0; i < scripts.length; ++i) {
            var src = scripts[i].getAttribute('src');
            if (src == null) continue;
            if (src.indexOf('Glimpse.axd') > -1) {
                turnoffGlimpseVersionCheck();
                break;
            }
        }

    });

    function turnoffGlimpseVersionCheck() {
        glimpse.versionCheck = function () { };
        console.log('glimpse version check disabled!!')
    }

</script>