/* UCJS Loader * nanto_vi (TOYAMA Nao), 2006-12-20 * * Automatically includes all files ending in .uc.js * from the profile's chrome folder * * Original Author: zeniko * Original Extension: Sub-Script Loader (a user script for userChrome.js) * */ (function UCJSLoader() { var fileProtocolHandler = Cc["@mozilla.org/network/io-service;1"] .getService(Ci.nsIIOService) .getProtocolHandler("file") .QueryInterface(Ci.nsIFileProtocolHandler); var files = Cc["@mozilla.org/file/directory_service;1"] .getService(Ci.nsIProperties) .get("UChrm", Ci.nsIFile) .directoryEntries; while (files.hasMoreElements()) { var file = files.getNext().QueryInterface(Ci.nsIFile); if (/\.uc\.js$/i.test(file.leafName)) { // Appending a XUL script element has no effects... var script = document.createElementNS("http://www.w3.org/1999/xhtml", "script"); script.type = "application/javascript; version=1.7"; script.src = fileProtocolHandler.getURLSpecFromFile(file); document.documentElement.appendChild(script); } } })();