从网上看到一段代码,可以防止别人打开js调试,收藏及测试一下。
2018-09-12 防止调试

导读

在网上看到一个方法,可以阻止别人直接打开调试工具获取源码。记录一下。

仅测试谷歌浏览器,没来得及细看,如果有错误,欢迎指出。

demo:https://www.viinight.com/demo/bili_animate.html

可以打开debug试试。

当然,也有破解方法,比如:fiddler

代码

/*!
 * source: https://github.com/sindresorhus/devtools-detect
 * Abbey改写
 *
 * viinight test
 *
 * MIT License
 * */
(function () {
    'use strict';
    var devtools = {
        open: false,
        orientation: null
    };
    var threshold = 160;
    var emitEvent = function (state, orientation) {
        window.dispatchEvent(new CustomEvent('devtoolschange', {
            detail: {
                open: state,
                orientation: orientation
            }
        }));
    };
    setInterval(function () {
        var widthThreshold = window.outerWidth - window.innerWidth > threshold;
        var heightThreshold = window.outerHeight - window.innerHeight > threshold;
        var orientation = widthThreshold ? 'vertical' : 'horizontal';
        if (!(heightThreshold && widthThreshold) && ((window.Firebug && window.Firebug.chrome && window.Firebug.chrome.isInitialized) ||
            widthThreshold || heightThreshold)) {
            if (!devtools.open || devtools.orientation !== orientation) {
                emitEvent(true, orientation);
            }
            devtools.open = true;
            devtools.orientation = orientation;
        } else {
            if (devtools.open) {
                emitEvent(false, null);
            }
            devtools.open = false;
            devtools.orientation = null;
        }
    }, 500);
    if (typeof module !== 'undefined' && module.exports) {
        module.exports = devtools;
    } else {
        window.devtools = devtools;
    }
})();

window.addEventListener('devtoolschange', function (e) {
     if (e.detail.open){ 
       // 这里填写你的阻止方法,比如跳转到百度去。
       window.location.href='www.viinight.com'; 
       // 这里填写你的阻止方法,比如跳转到百度去。
     }
     else{
        window.location.reload();
     }
});
图文来源网络 如有侵权 请联系删除

服务器有点糟糕,如果你赞助我一下的话,我会买更好的服务器,给大家提供更好的服务。

留个言吧

如果您是第一次在本站留言,需要审核后才会显示内容!

icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif