// var minimalUserResponseInMiliseconds = 100;
// var before = new Date().getTime();
// debugger;
// var after = new Date().getTime();
// if (after - before > minimalUserResponseInMiliseconds) { // user had to resume the script manually via opened dev tools
// document.write('<h1>你是机器人</h1>');
// }
console.log(Object.defineProperties(new Error, {
message: {get() {alert('Chrome/Firefox')}},
toString: {value() {(new Error).stack.includes('toString@')&&alert('Safari')}}
}));
https://blog.aepkill.com/demos/devtools-detector/