- 777 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/19(金) 03:47:01 ID:vDyPo9o90]
- >>758,775
userContent.js Ver 1,0の userContent.uc.js の try{ SUBSCRIPT_LOADER.loadSubScript(this.url,new Namespace(obj)); return true; } catch(e){ errMsg(this.url.replace(/^.+?([^/]+)$/,'$1'),e); return false; } } を try{ SUBSCRIPT_LOADER.loadSubScript(readFile(this.url),new Namespace(obj)); return true; } catch(e){ errMsg(this.url.replace(/^.+?([^/]+)$/,'$1'),e); return false; } } function readFile(aFileURL){ const Cc = Components.classes; const Ci = Components.interfaces; var aFile = IO_SERVICE.getProtocolHandler('file').QueryInterface(Ci.nsIFileProtocolHandler).getFileFromURLSpec(aFileURL); var stream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream); stream.init(aFile, 0x01, 0, 0); var cvstream = Cc["@mozilla.org/intl/converter-input-stream;1"].createInstance(Ci.nsIConverterInputStream); cvstream.init(stream, "UTF-8", 1024, Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER); var content = "", data = {}; while (cvstream.readString(4096, data)) { content += data.value; } cvstream.close(); return "data:application/javascript;version=1.7; charset=utf-8," + encodeURI("(function(){\n" + content.replace(/\r\n?/g, "\n") + "\n})()"); } とすれば自動的に(function() { })();で括るようになる
|

|