2

我在我的 FireFox 扩展中使用 Java,但由于 Mozilla 在 FireFox 16,17,18 中停止支持 Java,我无法使用。所以我发现以前可以使用 LiveConnect,但现在不行了。

有办法解决吗?我想在版本 16 及更高版本的 FF 扩展中使用 Java,因为人们不想轻易降级到版本 15。

到目前为止,我已经像这样使用过java。

function createFile(folder,file)
{

destinationDir = new java.io.File(folder).mkdirs();
file = new java.io.File(folder,file);
file.createNewFile();
}

而且效果很好。但这在我提到的 FF 中不再有效。

我在这里找到了这个问题。

无法使用 Liveconnect 将 Java 加载到 Firefox 16 扩展中

但是没有人回复。

请不要因此而降低我的声誉,我为此而努力。如果问题没有被正确提出,那么只需关闭它。谢谢。

4

1 回答 1

0

这是我在工作中用来替换 Java 的函数示例。

var string = '\u5909\u63db\u30c6\u30b9\u30c8';
file.initWithPath('C:\\temp\\temp.txt');
file.create(file.NORMAL_FILE_TYPE, 0666);
var charset = 'EUC-JP';
var fileStream = Components
.classes['@mozilla.org/network/file-output-stream;1']
.createInstance(Components.interfaces.nsIFileOutputStream);
fileStream.init(file, 2, 0x200, false);
var converterStream = Components
.classes['@mozilla.org/intl/converter-output-stream;1']
.createInstance(Components.interfaces.nsIConverterOutputStream);
converterStream.init(fileStream, charset, string.length,
Components.interfaces.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);
converterStream.writeString(string);
converterStream.close();
fileStream.close();

mozilla 开发人员文档中,您可以找到有关此 XPCOM 的更多信息,该 XPCOM 可用于读取/写入文件和类似过程。所以我用这个代替Java。

于 2013-01-31T16:54:21.323 回答