私は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 = データ; }