根据问题标题。
虽然不需要 ;我想阻止人们通过控制台在我的页面上执行功能......这甚至可能吗?
我尝试了一些事情,这是我最接近的事情 - 但这不起作用:(
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?
}
}
}
修改
我不必禁用控制台,只需在其中进行函数调用 - 但解决方案都可以;但
EDIT2:
所以,要做到这一点......现在根本无法检测到控制台的crossbrowser?
EDIT3:
通过执行以下操作,我有点解决它,虽然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);
答案 0 :(得分:2)
尝试通过窗口宽度检测控制台是不好的。这也可能导致其他浏览器出现一些问题。如果您只想保护您的功能:
你有一个按钮:
<button onclick="someFunction()"></button>
someFunction当然可以通过控制台访问。但如果你不让用户知道你的功能名称,他就不能调用这个功能,可以吗? 见这里:
<script type="text/javascript">
//obsfuscate this code
$(function() {
$("#theButton").on("click", someFunction);
})
</script>
<button id="theButton"></button>
这只是一种可能的解决方案。但是rembember,没有javascript解决方案可以100%安全,因为用户知道你的所有代码,是否有混淆。