私はFirefoxの拡張機能を作ろうとしています。document.body.innerHTML = data; を使用する理由 新しく開いたタブでは機能しません。これが私のコードです:
関数の変更() {
// Google を新しいタブで開き、選択します
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); // 必要に応じて、ここで別のエンコーディングを使用できます
let (str = {}) {
cstream.readString(-1, str); // ファイル全体を読み取り、それを str.value に入れます
データ = str.value;
}
cstream.close(); // これは fstream を閉じます
//ファイルの内容でGoogleページの内容を変更
document.body.innerHTML = データ;
}