我正在使用HTML/JavaScript开发Web应用程序,我想阻止用户在浏览器控制台中调用函数以避免作弊.所有这些函数都包含在一个唯一的文件functions.js中,该index.html文件被加载到文件的头部.
在网上搜索后,我发现这个解决方案在谷歌浏览器中运行良好,但在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 }
});
Run Code Online (Sandbox Code Playgroud)
是否有通用的方法来禁用从控制台调用函数?它取决于浏览器还是只是一个范围问题,或者是我忽略的其他东西?