小编PCh*_*ese的帖子

在WebKit中使用本机代码函数作为JavaScript对象

我无法在基于WebKit的浏览器中将本机代码函数用作JavaScript对象.是不是可以直接别名这些功能?

这是最容易通过示例解释的,所以这是我在Developer Tools控制台中运行的内容:

console.warn;
// Outputs:
// function warn() {
//     [native code]
// }

console.warn("console.warn");
// Outputs: "console.warn"

var _c = console;
_c.warn("_c.warn");
// Outputs: "_c.warn"

var _w = console.warn;
_w("_w");
// Outputs: "TypeError: Type error" on Safari/WebKit (Mac)
// Outputs: "TypeError: Illegal invocation" on Chrome (Mac)

var _w2 = function () { console.warn.apply(console, arguments); }
_w2("_w2");
// Outputs: "w2"
Run Code Online (Sandbox Code Playgroud)

当我尝试在Safari中使用jQuery Lint时出现了这个问题; 如果window.console不存在,它使用以下方法来防止破坏:

_console = {
    warn: window.console && console.warn || function(){},
    ...
}

_console.warn("some error");
Run Code Online (Sandbox Code Playgroud)

这是我的临时解决方法: …

javascript safari webkit native jquery-lint

3
推荐指数
1
解决办法
3377
查看次数

标签 统计

javascript ×1

jquery-lint ×1

native ×1

safari ×1

webkit ×1