我正在开发一个 HTML/JavaScript 的 Web 应用程序,我想阻止用户在他们的浏览器控制台中调用函数以避免作弊。所有这些函数都包含在一个名为的唯一文件functions.js
中,该文件加载在index.html
文件的头部。
在网上搜索后,我找到了这个解决方案,它在谷歌 Chrome 中运行良好,但在其他浏览器(如 Firefox)中效率低下:
var _z = console;
Object.defineProperty( window, "console", {
get : function(){if( _z._commandLineAPI ){ throw "Script execution not permitted" } return _z; },
set : function(val){ _z = val }
});
有没有一种通用的方法来禁用从控制台调用函数?它取决于浏览器还是只是范围问题或我忽略的其他问题?