标签: universalxpconnect

唯一的选择是将该代码块包含在我的每个函数中?

我的几个功能需要UniversalXPConnect启用权限。

netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
Run Code Online (Sandbox Code Playgroud)

所以,我的功能是这样的:

function oneOfMyFunctions() {
    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

    // ...
}
Run Code Online (Sandbox Code Playgroud)

其实,我也trycatch了异常,当特权被拒绝。看起来如下:

try {
    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

    // ...
} catch (e) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我宁愿将它作为一个单独的函数并从我的函数中调用它,如下所示:

function oneOfMyFunctions() {
    if (enablePrivilege()) {
        // ...
    } else {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

鉴于该enablePrivilege功能如下:

function enablePrivilege() {
    try {
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
    } catch (e) {
        return false;
    }

    return true;
}
Run Code Online (Sandbox Code Playgroud)

但是,出于安全原因,这是不可能的,因为权限仅在请求功能的范围内授予。

那么,唯一的选择是将该代码块包含在我的每个函数中?

更新:

由于我还将try考虑catch其他一些例外情况,因此我最终采用了以下设计:

function readFile(path, start, length) {
    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

    var file …
Run Code Online (Sandbox Code Playgroud)

javascript firefox scope universalxpconnect

5
推荐指数
1
解决办法
1138
查看次数

firefox 17中的UniversalXPConnect权限错误

我有一个小型的Web JS,它可以复制并在iframe中插入一些表单数据.但它在Firefox 17中不起作用.我正在使用此代码:

"netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");"
Run Code Online (Sandbox Code Playgroud)

可能有什么不对?有没有解决方法?

javascript firefox universalxpconnect

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

标签 统计

firefox ×2

javascript ×2

universalxpconnect ×2

scope ×1