disable-devtool/src/detector/reg-to-string.js

38 lines
1.1 KiB
JavaScript

/*
* @Author: theajack
* @Date: 2021-07-24 23:15:01
* @LastEditor: theajack
* @LastEditTime: 2021-12-09 07:58:29
* @Description: Coding something
*/
import {registInterval} from '../interval';
import {isFirefox, isQQBrowser, log} from '../util';
import {DETECTOR_TYPE, triggerOnDevOpen} from './detector';
// 这个方法在chrome 中无论是否打开都会触发
export default function detector () {
const isQQ = isQQBrowser();
const isFF = isFirefox();
if (!isQQ && !isFF) return;
let lastTime = 0;
const reg = /./;
log(reg);
reg.toString = function () {
if (isQQ) { // ! qq浏览器在控制台没有打开的时候也会触发 打开的时候会连续触发两次 使用这个来判断
const time = new Date().getTime();
if (lastTime && time - lastTime < 100) {
triggerOnDevOpen(DETECTOR_TYPE.REG_TO_STRING);
} else {
lastTime = time;
}
} else if (isFF) {
triggerOnDevOpen(DETECTOR_TYPE.REG_TO_STRING);
}
return '';
};
registInterval(() => {
log(reg);
});
}