npm install devtools-detector --save
import { addListener, launch } from 'devtools-detector';
const view = document.createElement('div');
document.body.appendChild(view);
// 1. add listener
addListener(
isOpen =>
(view.innerText = isOpen
? 'devtools status: open'
: 'devtools status: close')
);
// 2. launch detect
launch();
require(['devtools-detector'], function(devtoolsDetector) {
var view = document.createElement('div');
document.body.appendChild(view);
devtoolsDetector.addListener(function(isOpen) {
view.innerText = isOpen
? 'devtools status: open'
: 'devtools status: close';
});
devtoolsDetector.launch();
});
<script src="https://github.com/AEPKILL/devtools-detector/raw/v2.0.14/node_modules/devtools-detector/lib/devtools-detector.js"></script>
<script>
var view = document.createElement('div');
document.body.appendChild(view);
devtoolsDetector.addListener(function(isOpen) {
view.innerText = isOpen
? 'devtools status: open'
: 'devtools status: close';
});
devtoolsDetector.launch();
</script>
interface DevtoolsDetail {
isOpen: boolean;
checkerName: string;
}
type DevtoolsDetectorListener = (isOpen: boolean, detail?: DevtoolsDetail) => void;
launch detect
if detect is launched then return true, else return false
stop detect
addListener(listener: DevtoolsDetectorListener)
removeListener(listener: DevtoolsDetectorListener)
setDetectDelay(value: number)
Set detect loop delay time, if value =< 0 then stop detecting.
devtools-detector is the first one to loadMIT © AEPKILL
$ claude mcp add devtools-detector \
-- python -m otcore.mcp_server <graph>