aug*_*ebd 22 javascript google-chrome exception
我想知道为什么以下代码在Google Chrome中不起作用:
// creates a xss console log
var cl = ( typeof( console ) != 'undefined' ) ? console.log : alert;
cl('teste');
Run Code Online (Sandbox Code Playgroud)
输出:未捕获TypeError:非法调用
谢谢.
SLa*_*aks 31
当你写作时cl();,你正在log全球范围内调用.
Chrome console.log不希望在window对象上调用.
相反,你可以写
cl = function() { return console.log.apply(console, arguments); };
Run Code Online (Sandbox Code Playgroud)
这将log在上下文中调用console.
Ben*_*est 29
https://groups.google.com/a/chromium.org/d/msg/chromium-bugs/gGVPJ1T-qA0/F8uSupbO2R8J
显然你也可以定义日志:
log = console.log.bind(console);
Run Code Online (Sandbox Code Playgroud)
然后行号也有效
| 归档时间: |
|
| 查看次数: |
5783 次 |
| 最近记录: |