Локальный файл (загруженный из file:///
) может запрашивать дополнительные привилегии. Обычно вы получаете запрос, спрашивающий, хотите ли вы разрешить доступ - вы можете «автоматически принять» приглашение, добавив следующие строки в prefs.js
в профиле Firefox:
user_pref("capability.principal.codebase.p0.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p0.id", "file://");
user_pref("capability.principal.codebase.p0.subjectName", "");
Ваша страница может сделать:
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var branch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
branch.setBoolPref("javascript.enabled", false);
Это определенно будет работать, если ваша страница является локальным файлом. Однако, судя по сообщению об ошибке, вы в настоящее время выполняете код с about:blank
. может изменить capability.principal.codebase.p0.id
на about:blank
или moz-safe-about:blank
, что также позволит этой странице получить расширенные привилегии, но я не уверен.
Тем не менее, ничто из этого не поможет, если JavaScript уже отключен, и вам нужно включить его. Это можно решить, только написав расширение и добавив его в профиль теста. JavaScript в расширениях Firefox работает независимо от этого параметра.