我正在尝试制作一个Firefox扩展。为什么当我想使用 document.body.innerHTML = data; 在新打开的选项卡中,它不起作用。这是我的代码:
函数变化(){ //在新标签中打开谷歌并选择它 tab=gBrowser.addTab("http://www.google.com"); gBrowser.selectedTab=标签; //创建nslFile对象 var path="/home/foo/notify.txt" var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); file.initWithPath(路径); //将文件内容放入数据变量 变量数据 = ""; var fstream = Components.classes["@mozilla.org/network/file-input-stream;1"]。 createInstance(Components.interfaces.nsIFileInputStream); var cstream = Components.classes["@mozilla.org/intl/converter-input-stream;1"]。 createInstance(Components.interfaces.nsIConverterInputStream); fstream.init(文件, -1, 0, 0); cstream.init(fstream, "UTF-8", 0, 0); // 如果你愿意,你可以在这里使用另一种编码 让(str = {}){ cstream.readString(-1, str); // 读取整个文件并将其放入 str.value 数据 = str.value; } cstream.close(); // 这会关闭 fstream //通过文件内容改变谷歌页面的内容 document.body.innerHTML = 数据; }