Chrome的内置JavaScript控制台可以显示颜色吗?
我想要红色错误,橙色警告和console.log
绿色警告.那可能吗?
有没有办法让任何函数输出一个console.log语句,当它通过在某处注册一个全局钩子(即,不修改实际函数本身)或通过其他方式调用?
我目前正在开发一个Web应用程序,因为它可以访问下面的数据库,我需要能够在Firefox和所有类似应用程序中禁用Safari,Chrome,Firefox和Internet Explorer以及Firebug中的开发人员工具.有没有办法做到这一点?
注意:数据库提供的AJAX框架要求将数据库中的任何内容放在可以修改的Web参数中,并且返回的任何内容都将在JavaScript中处理.因此,当它返回一个值,例如用户是否可以访问网站的某个部分时,必须使用JavaScript处理,然后开发人员工具可以访问.所以这是必需的.
更新:对于那些仍然认为我做出错误假设的人,我确实问了供应商.以下是他们的回答:
以下是一些降低风险的建议:
1)使用javascript Obfuscator对代码进行模糊处理,并仅为已售出的应用程序提供模糊版本; 保持非混淆版本自己进行编辑.这是一个在线混淆器: 我如何模糊(保护)JavaScript? http://en.wikipedia.org/wiki/Obfuscated_code http://javascriptobfuscator.com/default.aspx
2)使用描述性较低的名称; 也许'repeatedtasks.js'而不是'security.js',因为'security.js'可能更能让那些通过这类信息看重要的人更加突出.
我正在检查一些东西,就像你一样,在facebook上遇到了这个有趣的东西.
我明白完全可以使用类似的东西:
var cssRule =
"color: rgb(249, 162, 34);" +
"font-size: 60px;" +
"font-weight: bold;" +
"text-shadow: 1px 1px 5px rgb(249, 162, 34);" +
"filter: dropshadow(color=rgb(249, 162, 34), offx=1, offy=1);";
console.log("%cHello World", cssRule);
Run Code Online (Sandbox Code Playgroud)
我的主要问题是,他们如何停止显示你总是在控制台右侧的file.js:line_numer?
使用上面的代码,您会看到:
View Full Image
你注意到红圈了吗?但在facebook的例子中,他们没有显示那些信息.我已经浏览了Mozilla(Link)上的Web.Console API ,那么有人可能知道如何排除那些特定的信息吗?
将消息输出到控制台时,也会显示来源(在Chrome开发者工具中,它位于右侧):
console.log("Foo"); //Source
Foo test.js:1 //Output
Run Code Online (Sandbox Code Playgroud)
但是,在某些站点上,会显示消息而不显示源,例如在Facebook上:
查看Chrome控制台API参考资料,可以看到大量不同输出的示例,但所有输出都显示了源代码.
如何隐藏.js
控制台输出的源(页面和行号)?
编辑:只是为了澄清,这不是Facebook如何禁用浏览器的集成开发人员工具?因为该问题解答了控制台如何禁用标准用户输入(其答案解释了它是如何工作的).我特别询问不显示源文件和行的美感.
来自Facebook页面上的JavaScript控制台(Google Chrome 35,Win7)的示例屏幕截图:
这是怎么做到的?有没有办法检查/调试控制台?
我正在使用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)
是否有通用的方法来禁用从控制台调用函数?它取决于浏览器还是只是一个范围问题,或者是我忽略的其他东西?
有没有办法禁用检查元素,右键单击和谷歌浏览器中的F12?
google-chrome chromium google-chrome-devtools google-chrome-app
如何使用JavaScript代码打开浏览器的JavaScript控制台?
if (ShowConsole() == false)
alert('I cannot open your JavaScript console, please "
+ "use your browser\'s menu to open manually.')
else console.log('now you can see some message')
Run Code Online (Sandbox Code Playgroud)
我建议ShowConsole()
功能不存在,并且是我的想象力的产物,您需要转到菜单并找到正确的项目并单击它。并在不同的浏览器中以不同的方式进行操作。我正在寻找一些特定于浏览器的API来帮助懒惰的开发人员。
“打开”是指使其可见,就像用户选择了相应的菜单命令一样。
我正在开发一个Chrome扩展程序,以使用jQuery突出显示Facebook通知。当Facebook首次加载时,我可以加载它,但是过了一会儿它就停止工作了。在清单中,我尝试将持久性设置为true和false,没有区别。我尝试使用background.js。
我一直在摆弄chrome.tabs.onActivated和.onHighlighted并可以显示警报,但是看不到我的代码或jQuery $。
在开发工具中,我的扩展程序未在我可以选择在此处使用的环境中列出
我的代码:manifest.json
{
"name": "Facebook Your notification highlight",
"version": "0.3.2",
"description": "Highlights notifications with 'your' in the notification!",
"background": {
"scripts": ["jquery.min.js","background.js"],
"persistent": false
},
"browser_action": {
"default_icon": "icon48.png"
},
"icons": {
"48": "icon48.png",
"128": "icon128.png" },
"permissions": [ "tabs", "webNavigation", "https://www.facebook.com/" , "https://facebook.com/", "http://www.facebook.com/"],
"manifest_version": 2
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
新manifest.js
{
"name": "Facebook Your notification highlight",
"version": "0.3.3",
"description": "Highlights notifications with 'your' in the notification!",
"background": {
"scripts": ["jquery.min.js","background.js"]
},
"browser_action": {
"default_icon": "icon48.png"
}, …
Run Code Online (Sandbox Code Playgroud)