beforeunloadd'G 这个词是什么意思 等高手回答

请高手赐招,金地漆己刷了三天还不天,为什么?有解否?.来自:
日分享至 :
下一篇:上一篇:其它类似问题相关文章相关帖子---请高手赐招,金地漆己刷了三天还不天,为什么?有解否?.本站不兼容 8 以前的版本的 Interner Explorer 浏览器(或基于这些版本的 IE 的其他浏览器),并且页面样式不完全兼容 IE 8,我们建议你升级至 IE 9 或改用其他非 IE 浏览器
请高手进来修改脚本
有这么一个脚本 叫做:工具_添加打开chrome文件夹_Tools menu entry to open the chrome folder.uc.js&&作用就是在工具下拉菜单里添加一个打开chrome文件夹的按钮,用来快速打开该文件夹。
现在火狐有了橙色大按钮了,可里面却没有了工具下拉菜单,这样使我打开chrome文件夹很麻烦,有没有高手帮个帮,改下或重新写下该脚本,可以在橙色大按钮里面多一个打开chrome文件夹的按钮,附件为原脚本,先行谢过了!~
附件: 您所在的用户组无法下载或查看附件
全屏上面。
附件: 您所在的用户组无法下载或查看附件
有没有装userchrome.js的管理工具,里面就有打开chrome文件夹的选项
全屏上面。
alanfly 发表于
09:17 多谢
有没有装userchrome.js的管理工具,里面就有打开chrome文件夹的选项
royallin 发表于
11:44 能说的再具体点吗?
userChrome_manage.uc.xul&?xml version=&1.0& encoding=&UTF-8&?&
&overlay xmlns=&http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&&
&!--
// ==UserScript==
// @name& && && &&&rebuild_userChrome.uc.xul
// @namespace& && &http://space.geocities.yahoo.co.jp/gl/alice0775
// @description& & userChrome.js用のスクリプトのキャッシュをクリアーし,新しいウインドウを開く
// @include& && &&&main
// @compatibility&&Firefox 2.0 3.0 3.5b4pre 3.6a1pre
// @author& && && &Alice0775
// @version& && &&& 00:00 Seamonkeyに対応
// ==/UserScript==
// @version& && &&& 00:00 Namoroka3.6a2pre で右クリックでのスクリプト編集時にコンテキストメニューが表示されるのを修正
// @version& && &&& 00:00 Minefield3.6a1pre での動作改善
// @version& && &&& 00:00 nsIProcess変更
// @version& && &&& 00:00 reuseのデフォルト値trueに変更
// @version& && &&& 02:00 スクリプト保存ファイルピッカーをキャンセル時のエラー処理追加
// @version& && &&& 16:00 スクリプトのドロップをstatusbar-display上に変更
// @version& && &&& 18:00 base64データスキームの保存に対応
// @version& && &&& 02:00 ttp://の保存に対応
// @version& && &&& 01:00 メニューが表示されない場合があるのを修正
// @version& && &&& 23:00 saveFolderModokiがある時スクリプトのリンクをステータスバーの左1/3にドロップすることで, chrmeホルダに保存するようにした
// @version& && &&& 19:00 日本語のファイル名のスクリプトの有効/無効が機能していなかったのを修正
// @version& && &&& 17:00 スクリプトの有効/無効/編集を設定できるようにした
// @Note& && && &&&使用するエディタを編集しておくこと
--&
&&&script language=&JavaScript&&&![CDATA[
&&var userChromejs = {
// --- config ---
& & editor: &C:\Program Files\Notepad++\notepad++.exe&,
// --- config ---
& & _statusDisplay: null,
& & get statusDisplay() {
& && &if (!this._statusDisplay)
& && &&&this._statusDisplay = document.getElementById('statusbar-display');
& && &return this._statusD
& & },
& & init: function(){
& && &this.statusDisplay.addEventListener('dragover',function(event){nsDragAndDrop.dragOver(event,userChromejs.dndObserver);},true);
& && &this.statusDisplay.addEventListener('dragdrop',function(event){nsDragAndDrop.drop(event,userChromejs.dndObserver);},true);
& && &this.addPrefListener(userChromejs.readLaterPrefListener); // 登録処理
& & },
& & uninit: function(){
& && &this.statusDisplay.removeEventListener('dragover',function(event){nsDragAndDrop.dragOver(event,userChromejs.dndObserver);},true);
& && &this.statusDisplay.removeEventListener('dragdrop',function(event){nsDragAndDrop.drop(event,userChromejs.dndObserver);},true);
& && &this.removePrefListener(userChromejs.readLaterPrefListener); // 登録解除
& & },
& & dndObserver : {
& && &getSupportedFlavours : function () {
& && &&&var flavours = new FlavourSet();
& && &&&flavours.appendFlavour(&text/unicode&);
& && &&&flavours.appendFlavour(&application/x-moz-file&);
& && &&&
& && &},
& && &onDragOver: function (evt,flavour,session){},
& && &onDrop: function (evt,dropdata,session){
& && &&&
& && &&&evt.stopPropagation();
& && &&&evt.preventDefault();
& && &&&if (dropdata.data!=&&){
& && && & //ステータスバーの左1/3にドロップしたか
& && && & var target = evt.
& && && & while(target){
& && && && &if(target.localName == &statusbar&)
& && && && &&&
& && && && &target = target.parentN
& && && & }
& && && & if(!target)
& && && & if(evt.screenX & target.boxObject.screenX + target.boxObject.width/3)
& && && & //saveFolderModokiが必要
& && && & if(!saveFolderModoki)
& && && & //ドロップしたurl
& && && & var url = (/^\s*(.*?)\s*$/m.test(dropdata.data))?RegExp.$1:
& && && & //保存ホルダ nsIFile
& && && & var folder = Components.classes[&@mozilla.org/file/directory_1&]
& && && && && && && && && &&&.getService(Components.interfaces.nsIProperties)
& && && && && && && && && &&&.get(&UChrm&, Components.interfaces.nsIFile);
& && && & //デフォルトのファイル名
& && && & if(/(.*)\n?(.*)?/m.test(dropdata.data) )
& && && && &fname = RegExp.$2?RegExp.$2:&&;
& && && & //データスキームか
& && && & if(/(^data:text\/javascript(;.*)?,?)|(^data:application\/x-javascript(;.*)?,?)/.test(url)){
& && && && &// urlSecurityCheck は saveFolderModoki.directSaveLinkで実施している
& && && && &saveScript(url, fname, folder);
& && && & }else{
& && && && &//リンクか
& && && && &if(!/(^h?ttps?:\/\/)|(^ftp:\/\/)/.test(url))
& && && && &if (/^h?.?.p(s?):(.+)$/i.test(url)){
& && && && &&&url = &http& + RegExp.$1 + ':' + RegExp.$2;
& && && && &&&if(!RegExp.$2)
& && && && &&&fname = url.match(/.+\/(.+)$/)[1];
& && && && &}
& && && && &fname = fname.replace(/\.uc\.xul\.txt$/,'.uc.xul');
& && && && &//スクリプトファイルか?
& && && && &if(/(\.uc\.js$)|(\.uc.\.xul$)|(\.uc\.xul\.txt$)/.test(url)){
& && && && &&&gBrowser.dragDropSecurityCheck(evt, session, url);
& && && && &&&saveScript(url, fname, folder);
& && && && &}
& && && & }
& && &&&}
& && &&&function saveScript(url, fname, folder){
& && && & //ファイルピッカによりnsIFile決定
& && && & var aFile = getFolderPath(fname, folder)
& && && & if(!aFile)
& && && & //フォルダパス
& && && & folder = aFile.path.replace(aFile.leafName,'');
& && && & //nsILocalFileのフォルダ
& && && & var aFolder = saveFolderModoki.initFileWithPath(folder);
& && && & if(!aFolder)
& && && & //リンクを保存
& && && & saveFolderModoki.directSaveLink(null, url, aFile.leafName, gBrowser.currentURI, aFolder);
& && &&&}
& && &&&function getFolderPath(fname, folder){
& && && & //ファイルピッカにより保存先決定
& && && & var fp = Components.classes['@mozilla.org/1']
& && && && && && &&&.createInstance(Components.interfaces.nsIFilePicker);
& && && && &fp.init(window, &Save script As&, fp.modeSave);
& && && && &fp.appendFilter(&Script Files&,&*.uc. *.uc.xul&);
& && && & if(/\.uc\.js$/.test(fname)){
& && && && &fp.defaultExtension = &uc.js&;
& && && && &fp.defaultString =
& && && & }else if(/\.uc\.xul$/.test(fname)){
& && && && &fp.defaultExtension = &uc.xul&;
& && && && &fp.defaultString =
& && && & }else{
& && && && &fp.defaultExtension = &uc.js&;
& && && && &fp.defaultString = fname + &.uc.js&;
& && && & }
& && && & fp.displayDirectory =
& && && & if ( fp.show() == fp.returnCancel || !fp.file )
& && && & //nsIFile
& && && & return fp.
& && &&&}
& && &}
& & },
& & rebuild: function(){
& && &var flag = this.getPref(&userChrome.enable.reuse&,'bool',true);
& && &this.setPref(&userChrome.enable.reuse&,'bool',false);
& && &setTimeout(function(){OpenBrowserWindow();},&&0);
& && &setTimeout(function(self,flag){self.setPref(&userChrome.enable.reuse&,'bool',flag);},2000,this,flag);
& & },
& & setting: function(){
& && &var flag = this.getPref(&userChrome.enable.reuse&,'bool',true);
& && &this.setPref(&userChrome.enable.reuse&,'bool',!flag);
& & },
& & onpopup: function(){
& && &
& && &var flag = this.getPref(&userChrome.enable.reuse&,'bool',true);
& && &var menuitem = document.getElementById('userChrome_setting');
& && &menuitem.setAttribute('checked', !flag);
& && &var menupopup = document.getElementById(&userChromejs_options&);
& && &for(var i = 3, len = menupopup.childNodes. i & i++){
& && &&&menupopup.removeChild(menupopup.lastChild);
& && &}
& && &var menuseparator = document.createElement('menuseparator');
& && &menupopup.appendChild(menuseparator);
& && &menuitem = document.createElement('menuitem');
& && &menuitem.setAttribute('label','\u542f\u7528/\u UserChromeJS');
& && &menuitem.setAttribute('oncommand','userChromejs.chgDirStat(&*&);');
& && &menuitem.setAttribute('onclick','userChromejs.clickDirMenuitem(event,true)');
& && &menuitem.setAttribute('type','checkbox');
& && &menuitem.setAttribute('checked', !userChrome_js.dirDisable['*']);
& && &menuitem.dirName = '*';
& && &menupopup.appendChild(menuitem);
& && &for(var j = 0, lenj = userChrome_js.arrSubdir. j & j++){
& && &&&var dirName = userChrome_js.arrSubdir[j] == && ? &root& : userChrome_js.arrSubdir[j];
& && &&&var flg =
& && &&&for(var i = 0, len = userChrome_js.scripts. i & i++){
& && && & var script = userChrome_js.scripts[i];
& && && & if(script.dir != dirName)
& && && & flg =
& && && &
& && &&&}
& && &&&if(!flg){
& && && & for(var i = 0, len = userChrome_js.overlays. i & i++){
& && && && &var script = userChrome_js.overlays[i];
& && && && &if(script.dir != dirName)
& && && && &flg =
& && && && &
& && && & }
& && &&&}
& && &&&if(!flg)
& && &&&menu = document.createElement('menu');
& && &&&menu.setAttribute('label','chrome/' + (dirName==&root&?&&:dirName) );
& && &&&menu.setAttribute('onclick','userChromejs.clickDirMenu(event)');
& && &&&if(userChrome_js.dirDisable[dirName])
& && && & menu.setAttribute('style', 'font-style:');
& && &&&menu.dirName = dirN
& && &&&menupopup = document.createElement('menupopup');
& && &&&menupopup.setAttribute('onpopupshowing','event.stopPropagation();');
& && &&&menuitem = document.createElement('menuitem');
& && &&&menuitem.setAttribute('label','chrome/' + (dirName==&root&?&&:dirName) + '\uFEFF\u811A\u672C\u\u542F\u7528/\u505C\u7528');
& && &&&menuitem.setAttribute('oncommand', 'userChromejs.chgDirStat(this.dirName);');
& && &&&menuitem.setAttribute('onclick','userChromejs.clickDirMenuitem(event)');
& && &&&menuitem.setAttribute('type', 'checkbox');
& && &&&menuitem.setAttribute('checked', !userChrome_js.dirDisable[dirName]);
& && &&&menuitem.dirName = dirN
& && &&&menupopup.appendChild(menuitem);
& && &&&menuseparator = document.createElement('menuseparator');
& && &&&menupopup.appendChild(menuseparator);
& && &&&var flg =
& && &&&for(var i = 0, len = userChrome_js.scripts. i & i++){
& && && & var script = userChrome_js.scripts[i];
& && && & if(script.dir != dirName)
& && && && &flg =
& && && && &menuitem = document.createElement('menuitem');
& && && && &menuitem.setAttribute('label',script.filename);
& && && && &menuitem.setAttribute('oncommand','userChromejs.chgScriptStat(this.script.filename);');
& && && && &menuitem.setAttribute('onclick','userChromejs.clickScriptMenu(event)');
& && && && &menuitem.setAttribute('type','checkbox');
& && && && &menuitem.setAttribute('checked',!userChrome_js.scriptDisable[script.filename] );
& && && && &if(script.description)
& && && && &&&menuitem.setAttribute('tooltiptext',script.description);
& && && && &menuitem.script =
& && && && &menupopup.appendChild(menuitem);
& && &&&}
& && &&&for(var i = 0, len = userChrome_js.overlays. i & i++){
& && && & var script = userChrome_js.overlays[i];
& && && & if(script.dir != dirName)
& && && && &if(flg){
& && && && &&&menuseparator = document.createElement('menuseparator');
& && && && &&&menupopup.appendChild(menuseparator);
& && && && &}
& && && && &flg =
& && && && &menuitem = document.createElement('menuitem');
& && && && &menuitem.setAttribute('label',script.filename);
& && && && &menuitem.setAttribute('oncommand','userChromejs.chgScriptStat(this.script.filename);');
& && && && &menuitem.setAttribute('onclick','userChromejs.clickScriptMenu(event)');
& && && && &menuitem.setAttribute('type','checkbox');
& && && && &menuitem.setAttribute('checked',!userChrome_js.scriptDisable[script.filename] );
& && && && &if(script.description)
& && && && &&&menuitem.setAttribute('tooltiptext',script.description);
& && && && &menuitem.script =
& && && && &menupopup.appendChild(menuitem);
& && &&&}
& && &&&menu.appendChild(menupopup);
& && &&&menupopup = document.getElementById(&userChromejs_options&);
& && &&&menupopup.appendChild(menu);
& && &}
& & },
& & clickDirMenu: function(event){
& && &if(event.button == 1 || event.button == 2){
& && &&&event.stopPropagation();
& && &&&event.preventDefault();
& && &&&userChromejs.chgDirStat(event.target.dirName);
& && &&&if(event.target.firstChild && event.target.firstChild.firstChild)
& && && & event.target.firstChild.firstChild.setAttribute('checked',!userChrome_js.dirDisable[event.target.dirName] );
& && &&&if(!!userChrome_js.dirDisable[event.target.dirName])
& && && & event.target.setAttribute('style', 'font-style:');
& && &&&else
& && && & event.target.removeAttribute('style');
& && &}
& & },
& & clickDirMenuitem: function(event,stop){
& && &if(event.button == 1 || event.button == 2){
& && &&&event.stopPropagation();
& && &&&event.preventDefault();
& && &&&userChromejs.chgDirStat(event.target.dirName);
& && &&&event.target.setAttribute('checked',!userChrome_js.dirDisable[event.target.dirName] );
& && &&&if(!stop && !!userChrome_js.dirDisable[event.target.dirName])
& && && & event.target.parentNode.parentNode.setAttribute('style', 'font-style:');
& && &&&else
& && && & event.target.parentNode.parentNode.removeAttribute('style');
& && &}
& & },
& & clickScriptMenu: function(event){
& && &if(event.button==1){
& && &&&event.stopPropagation();
& && &&&event.preventDefault();
& && &&&userChromejs.chgScriptStat(event.target.script.filename);
& && &&&event.target.setAttribute('checked',!userChrome_js.scriptDisable[event.target.script.filename] );
& && &}else if(event.button==2){
& && &&&event.stopPropagation();
& && &&&this.launchEditor(event.target.script);
& && &}
& & },
& & launchEditor: function(aScript){
& && &var editor = this.
& && &var UI = Components.classes['@mozilla.org/intl/scriptableunicodeconverter'].createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
& && &var platform = window.navigator.platform.toLowerCase();
& && &if(platform.indexOf('win') & -1){
& && &&&UI.charset = 'Shift_JIS';
& && &}else{
& && &&&UI.charset =&&'UTF-8';
& && &}
& && &var path = Components.classes['@mozilla.org/network/io-1'].getService(Components.interfaces.nsIIOService).getProtocolHandler('file').QueryInterface(Components.interfaces.nsIFileProtocolHandler).getFileFromURLSpec(aScript.url).path
& && &path = UI.ConvertFromUnicode(path);
& && &var appfile = Components.classes['@mozilla.org/file/1'].createInstance(Components.interfaces.nsILocalFile);
& && &appfile.initWithPath(editor);
& && &var process = Components.classes['@mozilla.org/process/1'].createInstance(Components.interfaces.nsIProcess);
& && &process.init(appfile);
& && &process.run(false, [path], 1, {});
& & },
& & chgDirStat: function(adirName){
& && &var s = userChromejs.getPref(&userChrome.disable.directory&, &str&, &&);
& && &if(!userChrome_js.dirDisable[adirName]){
& && &&&s = (s+',').replace(adirName+',','') + adirName+',';
& && &}else{
& && &&&s = (s+',').replace(adirName+',','');
& && &}
& && &s = s.replace(/,,/g,',').replace(/^,/,'');
& && &userChromejs.setPref(&userChrome.disable.directory&, &str&, s);
& && &userChrome_js.dirDisable = this.restoreState(s.split(','));
& && &return userChrome_js.dirD
& & },
& & chgScriptStat: function(afilename){
& && &var s = userChromejs.getPref(&userChrome.disable.script&, &str&, &&);
& && &if(!userChrome_js.scriptDisable[afilename]){
& && &&&s = (s+',').replace(afilename+',','') + afilename+',';
& && &}else{
& && &&&s = (s+',').replace(afilename+',','');
& && &}
& && &s = s.replace(/,,/g,',').replace(/^,/,'');
& && &userChromejs.setPref(&userChrome.disable.script&, &str&, s);
& && &userChrome_js.scriptDisable = this.restoreState(s.split(','));
& && &return userChrome_js.scriptD
& & },
& & restoreState: function (arr){
& && &var disable = [];
& && &for(var i = 0,len = arr. i & i++)
& && &&&disable[arr[i]] =
& && &
& & },
& & //prefを読み込み
& & getPref: function(aPrefString, aPrefType, aDefault){
& && &var xpPref = Components.classes['@mozilla.org/preferences-1']
& && && && && && &&&.getService(Components.interfaces.nsIPrefBranch2);
& && &try{
& && &&&switch (aPrefType){
& && && & case 'complex':
& && && && &return xpPref.getComplexValue(aPrefString, Components.interfaces.nsILocalFile);
& && && & case 'str':
& && && && &return unescape(xpPref.getCharPref(aPrefString).toString());
& && && & case 'int':
& && && && &return xpPref.getIntPref(aPrefString);
& && && & case 'bool':
& && && & default:
& && && && &return xpPref.getBoolPref(aPrefString);
& && &&&}
& && &}catch(e){
& && &}
& && &return aD
& & },
& & //prefを書き込み
& & setPref: function(aPrefString, aPrefType, aValue){
& && &var xpPref = Components.classes['@mozilla.org/preferences-1']
& && && && && && &&&.getService(Components.interfaces.nsIPrefBranch2);
& && &try{
& && &&&switch (aPrefType){
& && && & case 'complex':
& && && && &return xpPref.setComplexValue(aPrefString, Components.interfaces.nsILocalFile, aValue);
& && && & case 'str':
& && && && &return xpPref.setCharPref(aPrefString, escape(aValue));
& && && & case 'int':
& && && && &aValue = parseInt(aValue);
& && && && &return xpPref.setIntPref(aPrefString, aValue);&&
& && && & case 'bool':
& && && & default:
& && && && &return xpPref.setBoolPref(aPrefString, aValue);
& && &&&}
& && &}catch(e){
& && &}
& && &
& & },
& & // 監視を開始する
& & addPrefListener: function(aObserver) {
& && &&&try {
& && && && &var pbi = Components.classes['@mozilla.org/1']
& && && && && && && & .getService(Components.interfaces.nsIPrefBranch2);
& && && && &pbi.addObserver(aObserver.domain, aObserver, false);
& && &&&} catch(e) {}
& & },
& & // 監視を終了する
& & removePrefListener: function(aObserver) {
& && &&&try {
& && && && &var pbi = Components.classes['@mozilla.org/1']
& && && && && && && & .getService(Components.interfaces.nsIPrefBranch2);
& && && && &pbi.removeObserver(aObserver.domain, aObserver);
& && &&&} catch(e) {}
& & },
& & readLaterPrefListener:{
& && &&&domain&&: 'userChrome.disable',
& && && && &//&userChrome.disable&という名前の設定が変更された場合全てで処理を行う
& && &&&observe : function(aSubject, aTopic, aPrefstring) {
& && && && &if (aTopic == 'nsPref:changed') {
& && && && && & // 設定が変更された時の処理
& && && && && & setTimeout(function(){
& && && && && && &var s = userChromejs.getPref(&userChrome.disable.directory&, &str&, &&);
& && && && && && &userChrome_js.dirDisable = userChromejs.restoreState(s.split(','));
& && && && && && &s = userChromejs.getPref(&userChrome.disable.script&, &str&, &&);
& && && && && && &userChrome_js.scriptDisable = userChromejs.restoreState(s.split(','));
& && && && && & }, 0);
& && && && &}
& && &&&}
& & },
&&}
&&userChromejs.init();
&&window.addEventListener(&unload&, function(event){ userChromejs.uninit(event); }, false);
&&//メニューが長くなりすぎるので, あまり使わないメニューを&userChrome.jsの各スクリプトの設定&の下に移動させる
&&var userChromejsScriptOptionsMenu = {
& & //あまり使わないメニューのリスト
& & menues: [
& && &&GrabScroll_optionsMenu&,
& && &&SaveFolderToolsMenu&,
& && &&translation_optionsMenu&,
& & & && &&menutabTooltip&,
& & & && &&refererChangerToggle&,
& & & && &&UserStylesheetMenu&
& & ],
& & interval: 1000, //5秒間隔
& & maxcount: 50,& &//最大50回までトライ
& & count: 0,
& & timer: null,
& & run: function() {
& && &//DOMの構築が完了するのを待ってからメニューを移動させる(5秒間隔で最大50回までトライ)
& && &this.timer = setInterval(function(self){
& && &&&if (++self.count & self.maxcount || self.moveMenu())
& && && & clearInterval(self.timer);
& && &}, this.interval, this);
& & },
& & moveMenu: function(){
& && &var menupopup = document.getElementById('userChromejs_script_options');
& && &if (!menupopup)
& && &&&
& && &var i = 0;
& && &while (i & this.menues.length) {
& && &&&var menu = document.getElementById(this.menues[i])
& && &&&if (menu) {
& && && & setTimeout(function(menupopup, menu){menupopup.appendChild(menu);}, 1000, menupopup, menu);
& && && & this.menues.splice(i, 1);
& && && &
& && &&&}
& && &&&i++;
& && &}
& && &return this.menues.length == 0 ? true :
& & },
&&}
&&userChromejsScriptOptionsMenu.run();
&&]]&&/script&
&&&menupopup id=&menu_ToolsPopup&&
& & &menu label=&UserChromeJs管理& accesskey=&u&
& && && & insertbefore=&menu_preferences& &
& && &&menupopup id=&userChromejs_options&
& && && && && &&&onpopupshowing=&userChromejs.onpopup()&
& && && && && &&&context=&&&
& && &&&&menuitem id=&userChrome_setting&
& && && && && && &label=&新建窗口时重新加载脚本&
& && && && && && &accesskey=&u&
& && && && && && &oncommand=&userChromejs.setting();&
& && && && && && &type=&checkbox& /&
& && &&&&menuitem label=&新建窗口重载入脚本&
& && && && && && &accesskey=&x&
& && && && && && &oncommand=&userChromejs.rebuild();&/&
& && &&&&menuitem label=&打开chrome文件夹&
& && && && && && &accesskey=&h&
& && && && && && &oncommand='Components.classes[&@mozilla.org/file/directory_1&].getService(Components.interfaces.nsIProperties).get(&UChrm&, Components.interfaces.nsILocalFile).launch();'/&
& && &&/menupopup&
& & &/menu&
& &
& & &menu id=&userChromejs_script_options_Menu& label=&UserChromeJS脚本命令& accesskey=&s&
& && && & insertbefore=&menu_preferences& &
& && &&menupopup id=&userChromejs_script_options& /&
& & &/menu&
&&&/menupopup&
&&&menupopup id=&taskPopup&&
& & &menu label=&UserChromeJs管理& accesskey=&u&
& && && & insertbefore=&menu_preferences& &
& && &&menupopup id=&userChromejs_options&
& && && && && &&&onpopupshowing=&userChromejs.onpopup()&
& && && && && &&&context=&&&
& && &&&&menuitem id=&userChrome_setting&
& && && && && && &label=&新建窗口时重新加载脚本&
& && && && && && &accesskey=&u&
& && && && && && &oncommand=&userChromejs.setting();&
& && && && && && &type=&checkbox& /&
& && &&&&menuitem label=&新建窗口重载入脚本&
& && && && && && &accesskey=&x&
& && && && && && &oncommand=&userChromejs.rebuild();&/&
& && &&&&menuitem label=&打开chrome文件夹&
& && && && && && &accesskey=&h&
& && && && && && &oncommand='Components.classes[&@mozilla.org/file/directory_1&].getService(Components.interfaces.nsIProperties).get(&UChrm&, Components.interfaces.nsILocalFile).launch();'/&
& && &&/menupopup&
& & &/menu&
& & &menu id=&userChromejs_script_options_Menu& label=&UserChromeJS脚本命令& accesskey=&s&
& && && & insertbefore=&menu_preferences& &
& && &&menupopup id=&userChromejs_script_options& /&
& & &/menu&
&&&/menupopup&
&/overlay&复制代码
附件: 您所在的用户组无法下载或查看附件

我要回帖

更多关于 unload事件 的文章

 

随机推荐