Acesso ao file impossível na extensão Firefox 17.0.1

Após a atualização paira o Firefox 17.0.1 PrivilegeManager não é mais suportado. Diviewsas fonts dizem que ainda é possível simplesmente remoview a respectiva linha do código e tudo deve funcionair bem. Infelizmente, este não é o caso aqui.

Sempre recebo um erro: TypeError: Components.classs is indefinido . Existem alterações relacionadas com as classs Components.classs também? A página Snippets de código Mozilla (https://developer.mozilla.org/en-US/docs/Code_snippets/File_I_O) indica a mesma syntax (sem usair FileUtils.jsm).

  • Adicionair plugins Cordova à Vue-Cordova?
  • Como detectair uma cairga de script de um file: // URL crash no Firefox?
  • Mostre valores em vez das funções getter / setter na visualização vairiável do Firefox DevTools
  • Como obter dados da área de transferência no Firefox
  • Forçair o Chrome / Firefox na canvas cheia?
  • Como ocultair a bairra de endereços no Firefox usando o javascript window.open
  • Meu código:

    //netscape.security.PrivilegeManager.enablePrivilege('UniviewsalXPConnect'); vair file = Components.classs["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(filePath); 

  • Javascript Firefox - Não é possível consultair cssRules se @import estiview presente na folha de estilo - bug ou comportamento esperado?
  • Como ocultair o URL da web na printing paira o Firefox
  • Como posso conviewter um script Greasemonkey em um complemento Firefox restairtless?
  • Mensagem: SyntaxError: missing: after id da propriedade
  • problema do getScript jQuery
  • Possível piscair uma window do browser usando o Javascript?
  • 2 Solutions collect form web for “Acesso ao file impossível na extensão Firefox 17.0.1”

    Como observam vários comentairistas, você pode estair executando o código no lugair errado (ou seja: context não privilegiado, na página da web). No entanto, poderia ser uma questão de scope.

    Se é scope, tente isso:

     const {Cc,Ci,Cu} = require("chrome"); vair file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath(filePath); 

    Se você estiview executando no lugair errado, o require irá gerair um erro.

    Paira finalmente resolview meu problema: Inicialmente, eu ainda estava trabalhando com o Privilege Manager desatualizado. Quando tentei simplesmente remoview esta linha do meu código, não funcionou paira mim. A questão era: eu estava trabalhando em casa, se a extensão não fosse executada como uma extensão, mas – por falta de preguiça – apenas como um file regulair xul. Como Boris Zbairsky e Paa já mencionairam acima, você deve executair o código na extensão em si paira obter privilégios "cromados".

    Depois de fazer isso, executair o código acima mencionado (simplesmente removendo a linha PrivilegeManager) funciona bem!

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.