检测网页是否打开开发者工具(检测F12)
tips ,有个500ms的setInterval ,慎用啊!
有时候我们需要屏蔽一下console 日志:
效果查看:
/devtools-detect/
代码如下:
(function () {'use strict'var devtools = {open: false,orientation: null}var threshold = 160var emitEvent = function (state, orientation) {window.dispatchEvent(new CustomEvent('devtoolschange', {detail: {open: state,orientation: orientation}}))}setInterval(function () {var widthThreshold = window.outerWidth - window.innerWidth > thresholdvar heightThreshold = window.outerHeight - window.innerHeight > thresholdvar 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 = truedevtools.orientation = orientation} else {if (devtools.open) {emitEvent(false, null)}devtools.open = falsedevtools.orientation = null}}, 500)if (typeof module !== 'undefined' && module.exports) {module.exports = devtools} else {window.devtools = devtools}})()
然后写一个监听事件,这样每次打开devtool 都会执行如下js
window.addEventListener('devtoolschange', function (e) {if (e.detail.open) console.clear()console.log('*******************')})