0

这曾经在我的插件中打开一个目录(../extension/value@my.name/sample_profile,但现在它没有......我确定FF中发生了一些变化,但不确定这里有什么问题。

  function open_blankProfile()
    {

      var MY_ID = "value@my.name";

      var stream = Components.classes["@mozilla.org/network/file-input-stream;1"]
                         .createInstance(Components.interfaces.nsIFileInputStream);
      var directoryService = Components.classes["@mozilla.org/file/directory_service;1"]
                         .getService(Components.interfaces.nsIProperties);

      var em = Components.classes["@mozilla.org/extensions/manager;1"].
             getService(Components.interfaces.nsIExtensionManager);

      var profile_directory = em.getInstallLocation(MY_ID).getItemFile(MY_ID, "sample_profile");

      var localFile = Components.classes["@mozilla.org/file/local;1"]
                              .createInstance(Components.interfaces.nsILocalFile);
      localFile.initWithPath(profile_directory.path);

        try {
          localFile.reveal();
        } catch(ex) {
          var uri = Components.classes["@mozilla.org/network/io-service;1"]
                              .getService(Components.interfaces.nsIIOService)
                              .newFileURI(localFile);

          var protSvc = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]
                                  .getService(Components.interfaces.nsIExternalProtocolService);
          protSvc.loadUrl(uri);
        }
    }
4

1 回答 1

0

它不起作用,因为从 Firefox 4 开始,扩展不会自动解包

于 2013-01-08T10:24:56.290 回答