根据问题标题。
虽然不需要;我想阻止人们通过控制台在我的页面上执行功能...这可能吗?
我尝试了一些方法,这是我最接近的 - 但这不起作用:(
window.onresize = function(){
if((window.outerHeight - window.innerHeight) > 100) {
//stop commands here?
}
}
window.onload = function() {
if (typeof console !== "undefined" || typeof console.log !== "undefined") {
if (window.console && (window.console.firebug || window.console.exception)) {
//stop commands here?
}
}
}
编辑:
我不必禁用控制台,只需在其中进行函数调用 - 这两种解决方案都可以;)
编辑2:
那么,为了解决这个问题...现在根本无法检测控制台跨浏览器吗?
编辑3:
我通过执行以下操作来解决这个问题,尽管 JS 函数仍然存在 - 它们相关的元素不是......不是一个很好的修复,但我想它会做......:(
setInterval(function() {
if (!$.browser.mozilla) {
if((window.outerHeight - window.innerHeight) > 100) {
alert("DISABLED!");
$('body').remove();
return false;
}
}
if (window.console && (window.console.firebug || window.console.exception)) {
alert("DISABLED!");
$('body').remove();
return false;
}
}, 750);
最佳答案
尝试通过窗口宽度检测控制台并不好。这也可能会导致其他浏览器出现一些问题。如果您只是想保护您的功能:
当你有一个按钮时:
<button onclick="someFunction()"></button>
someFunction 当然可以通过控制台访问。但是如果你不让用户知道你的函数名,他就不能调用这个函数,不是吗? 请参阅此处:
<script type="text/javascript">
//obsfuscate this code
$(function() {
$("#theButton").on("click", someFunction);
})
</script>
<button id="theButton"></button>
这只是一个可能的解决方案。但请记住,没有任何 JavaScript 解决方案可以 100% 安全,因为用户知道您的所有代码,无论是否经过混淆。
关于javascript - 有没有办法阻止 Javascript 命令在控制台中执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13028344/