首先,对我的英语不好对不起
我有一个重要的网站,每天都有大量访问。所以我不希望我的竞争对手通过DevTool复制我的javascript函数
我已经写了一个脚本来防止所有按键组合:CTRL + C V U A, CTRL + SHIFT + I
。我知道我无法阻止他们下载我的网站并通过编辑器查看它。我只是想防止他们打开DevTool。
我的脚本无法阻止我的竞争对手在访问我的网站之前打开devtool。所以我的问题是:如果打开了Devtool,是否可以将我的网站重定向到另一个网站,我可以处理吗?
UPDATE1 我使用脚本阻止Devtool:
(function () {
'use strict';
var devtools = {
open: false,
orientation: null
};
var threshold = 160;
var emitEvent = function (state, orientation) {
window.dispatchEvent(new CustomEvent('devtoolschange', {
detail: {
open: state,
orientation: orientation
}
}));
};
setInterval(function () {
var widthThreshold = window.outerWidth - window.innerWidth > threshold;
var heightThreshold = window.outerHeight - window.innerHeight > threshold;
var 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 = true;
devtools.orientation = orientation;
} else {
if (devtools.open) {
emitEvent(false, null);
}
devtools.open = false;
devtools.orientation = null;
}
}, 500);
if (typeof module !== 'undefined' && module.exports) {
module.exports = devtools;
} else {
window.devtools = devtools;
}
})();
// check if it's open
$(document).ready(function () {
console.log('is DevTools open?', window.devtools.open);
// check it's orientation, null if not open
console.log('and DevTools orientation?', window.devtools.orientation);
// get notified when it's opened/closed or orientation changes
window.addEventListener('devtoolschange', function (e) {
console.log('is DevTools open?', e.detail.open);
console.log('and DevTools orientation?', e.detail.orientation);
});
})
但不幸的是,如果我在粘贴网站链接并输入以访问之前打开devtool,则返回False: