检测浏览器console是否打开

  • Post author:
  • Post category:其他


<html>
<script>
var ConsoleManager={
    onOpen(){
        alert("Console is opened")
    },
    onClose(){
        alert("Console is closed")
    },
    init(){
        var self = this;
        var x = document.createElement('div');
        var isOpening = false,isOpened=false;
        Object.defineProperty(x, 'id', {
            get(){
                if(!isOpening){
                    self.onOpen();
                    isOpening=true;
                }
                isOpened=true;
            }
        });
        setInterval(function(){
            isOpened=false;
            console.info(x);//调用console.info方法,若console打开,此方法将执行获取x对象的id属性,调用get方法,get将判读isOpening开关,第一次打开时isOpening是false,会调用ConsoleManger的onOpen方法,onOpen alert信息,实际使用时可修改onOpen方法实现报送可以客户端到服务器
            console.clear();
            if(!isOpened && isOpening){
                self.onClose();
                isOpening=false;
            }
        },200)
    }
}

ConsoleManager.init();

</script>
</html>



版权声明:本文为devilcry13原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。