本站不兼容 8 以前的版本的 Interner Explorer 浏览器(或基于这些版本的 IE 的其他浏览器),并且页面样式不完全兼容 IE 8,我们建议你升级至 IE 9 或改用其他非 IE 浏览器

Mozest™

  • 正在加载用户菜单…

开放、分享、互助

【复制标签页标题及地址】
  1. (function()
  2. {
  3.     window.ucjs_copyTabInfo = function(aAsBBCode)
  4.     {
  5.         var tab = document.popupNode;
  6.         var surl = gBrowser.getBrowserForTab(tab).contentWindow.location.href;
  7.         var txt = aAsBBCode ?
  8.             '[url="' + surl + '"]' + tab.label + '[/url]' :
  9.             tab.label + "\n" + surl;
  10.         var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
  11.                         .getService(Components.interfaces.nsIClipboardHelper);
  12.         clipboard.copyString(txt);
  13.     };
  14.     var menuitem1 = document.createElement("menuitem");
  15.     menuitem1.setAttribute("label", "\uFEFF\u590D\u5236\u6807\u7B7E\u9875\u6807\u9898 + URL");
  16.     menuitem1.setAttribute("oncommand", "ucjs_copyTabInfo(false);");
  17. setTimeout(function()
  18.     {
  19.         gBrowser.mStrip.childNodes[1].appendChild(document.createElement("menuseparator"));
  20.         gBrowser.mStrip.childNodes[1].appendChild(menuitem1);
  21.      }, 0);   
  22. })();
复制代码
[ 本帖最后由 nettrottist 于 2008-10-6 00:14 编辑 ]

回复 147楼 Cye3s 的帖子

今天收了这个,很方便。谢谢!
求切换搜索引擎后自动搜索的脚本
如何新建uc.js文件啊
好多脚本 3.0.3上都失效了 比如 toggle findbar
在Addon管理面板上,添加“open folder"右键菜单,这样方便进入某扩展的配置文件夹。易于管理。
  1. // ==UserScript==
  2. // @name         Open Add-on Folder
  3. // @namespace    http://www.xuldev.org/
  4. // @description  Adds 'Open Folder' menu to Add-on Manager.
  5. // @include      chrome://mozapps/content/extensions/extensions.xul
  6. // @author       Gomita
  7. // @version      1.0.20080201
  8. // @homepage     http://www.xuldev.org/misc/ucjs.php
  9. // ==/UserScript==

  10. var OpenAddonFolder = {

  11.         init: function()
  12.         {
  13.                 document.getElementById("addonContextMenu").addEventListener("popupshowing", this, false);
  14.         },

  15.         launchDir: function()
  16.         {
  17.                 var selectedItem = gExtensionsView.selectedItem;
  18.                 var addonID = selectedItem.getAttribute("addonID");
  19.                 var dir = gExtensionManager.getInstallLocation(addonID);
  20.                 dir = dir.getItemLocation(addonID);
  21.                 dir.QueryInterface(Components.interfaces.nsILocalFile);
  22.                 dir.launch();
  23.         },

  24.         handleEvent: function(event)
  25.         {
  26.                 var popup = event.target;
  27.                 var menuitem = document.createElement("menuitem");
  28.                 menuitem.setAttribute("label", "Open Folder");
  29.                 menuitem.setAttribute("oncommand", "OpenAddonFolder.launchDir();");
  30.                 popup.insertBefore(menuitem, document.getElementById("menuitem_homepage_clone"));
  31.         }

  32. };

  33. OpenAddonFolder.init();
复制代码
http://mozilla.sociz.com/viewthr ... mp;page=1#pid144389

鼠标中键按的时间较长链接在新标签页前台打开,较短在新标签页后台打开。
另外一个*.uc.js|*.uc.xul加载脚本:
http://pirlouy42.free.fr/Firefox/userChrome.js/userChrome.js
效率似乎没有上一个高,程序刚启动里能明显看出脚本在一个个生效
但它能很好地支持*.uc.xul脚本,不会造成*.uc.js中修改界面代码失效
求助一下,我用这个userChrome.js加载脚本,每次开启火狐都会 自动打开搜索栏的搜索主页(搜索栏是google,则自动打开google,若是百度,则打开百度......)
用另外的那个userChrome.js,则不会没问题,这是怎么回事呢
強化重新載入和停止按鈕
1. 右鍵按重新載入 / 停止: 重新 / 停止載入所有分頁
2. 中鍵按停止: 停止當前頁面裏的所有動畫 gif
  1. // right-click to reload or stop all tabs, middle-click to stop all animation-gif images in current tab
  2. var reload = document.getElementById("reload-button");
  3. if (reload) {
  4.    reload.addEventListener("click", function(event){
  5.       if (event.button==2) for (var i = 0; i < gBrowser.mPanelContainer.childNodes.length; i++)
  6.                            gBrowser.getBrowserAtIndex(i).reloadWithFlags(nsIWebNavigation.LOAD_FLAGS_BYPASS_PROXY | nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE);
  7.    }, true);
  8.    reload.setAttribute("context", "");
  9. }

  10. var stop = document.getElementById("stop-button");
  11. if (stop) {
  12.    stop.addEventListener("click", function(event){
  13.       if (event.button==1) BrowserStop();
  14.                else if (event.button==2)
  15.          for (var i = 0; i < getBrowser().mTabContainer.childNodes.length; i++)
  16.                      getBrowser().getBrowserForTab(getBrowser().mTabContainer.childNodes[i]).stop();
  17.         }, true);
  18.    stop.setAttribute("context", "");
  19. }
复制代码
原帖由 Cye3s 于 2007-12-27 20:36 发表
自己改写的:调用其它浏览器,如TheWorld,并使用中文菜单(中文转换为Unicode)var LaunchTW = {
    mSchemes: ["file", "ftp", "http", "https"],
原帖由 zb0502 于 2008-9-3 09:48 发表
好了,仿照 show picture 扩展修改了一下,现在可以用了,我在 3.1b1pre 上测试通过
补充一下:多谢LX两位TX提醒,interfaces改正了
/*
在未载入的图片(相当于IE中的红X)的右键菜单加入"重新载入所有未显示图片"
上面两个脚本(代码在3楼和148楼)增加的右键菜单项不能通过menu editor扩展编辑菜单位置。
而下面这个"粘贴并转到"的改进版脚本(代码在4楼)却可以用menu editor编辑。上面两个脚本如果要支持menu editor,应怎样修改?
原帖由 Cye3s 于 2007-12-27 20:39 发表
在标签菜单中增加"粘贴并转到",改自
http://zoolcar9.lhukie.net/mozilla/userChr...ab-and-go.uc.js
只换成中文菜单
如果想在后台加载,修改
var loadInBackground = nsPreferences.getBoolPref(prefString, false); ...
另外问下,这些脚本都不支持Greasemonkey吗?userchrome.js 和 Greasemonkey 有什么区别?


还有,有没有脚本可以实现如下功能:
就是鼠标在书签上悬停的时候,出现气泡提示框,显示当前书签的描述(说明、注释)。

[ 本帖最后由 Jimmin 于 2008-10-9 00:41 编辑 ]
为什么我编辑不了%配置文件夹%chromeuserChrome.js?
原帖由 Jimmin 于 2008-10-8 22:48 发表




上面两个脚本(代码在3楼和148楼)增加的右键菜单项不能通过menu editor扩展编辑菜单位置。
而下面这个"粘贴并转到"的改进版脚本(代码在4楼)却可以用menu editor编辑。上面两个脚本如果要支持menu editor,应怎样修改?


...
给菜单项加上id属性应该就行了,类似下面,ID要唯一
this.mItem.setAttribute("id", "context-launchIE");
原帖由 Cye3s 于 2008-10-10 13:43 发表

给菜单项加上id属性应该就行了,类似下面,ID要唯一
this.mItem.setAttribute("id", "context-launchIE");
请问148楼的怎么加啊,是在那个脚本的最末端吗加上您说的这段代码吗,另外ID可以用中文字吗 比如"id", "重新载入所有图片"
原帖由 Cye3s 于 2008-8-30 11:02 发表
双击空白页面关闭标签,按住Ctrl+双击还是选择一行文字
比以前的一个脚本简单,不判断点击的对象了,省得在文本附近双击老失效// ==UserScript==
// @name           closeTabOnDblClick.uc.js
// @include        mai ...
这个脚本不错 不过有个问题
不知道大家有没有使用Text Link这个扩展没  
双击文本域名的时候自动打开 在同时使用这个扩展和关闭标签的脚本时 会出现打开新的TAB立即关闭的现象
虽然可以通过设置扩展 用组合键来避免冲突  不过那样会不方便 所以这个脚本能否改进下呢?
即在文本域名双击时失效 在其他任意位置都可用
能不能吧 强制重新载入图片 做成 按钮啊
原帖由 kohl 于 2008-10-15 17:23 发表
能不能吧 强制重新载入图片 做成 按钮啊
关键代码,放Customer Button的Code里就行了
  1.     var doc = content.document;
  2.     var imgs = doc.images;
  3.     if (!imgs.length) return;
  4.     for (var i = 0; i < imgs.length; i++) {
  5.       imgs[i].src = imgs[i].src;
  6.     }
复制代码
完全不懂啊
学习了,谢谢啊
原帖由 Cye3s 于 2008-10-15 20:34 发表

关键代码,放Customer Button的Code里就行了    var doc = content.document;
    var imgs = doc.images;
    if (!imgs.length) return;
    for (var i = 0; i < imgs.length; i++) {
      imgs.src = imgs.src; ...
我把它搞成鼠标手势了

/*code*/
const nsIPermissionManager = Components.interfaces.nsIPermissionManager;
var _pm = Components.classes["@mozilla.org/permissionmanager;1"].getService(Components.interfaces.nsIPermissionManager);
var ioService = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
var restore_block_host;

//var imgList = document.popupNode.ownerDocument.images;
var imgList = content.document.images;
var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
    var oriImageBehavior = 0;
    if (prefService.getIntPref("permissions.default.image") != 0) {
        oriImageBehavior = prefService.getIntPref("permissions.default.image");
        prefService.setIntPref("permissions.default.image", 0);
    }


for (var i = 0; i < imgList.length; ++i) {
        if(imgList instanceof Components.interfaces.nsIImageLoadingContent) {
        var request = imgList.getRequest(Components.interfaces.nsIImageLoadingContent.CURRENT_REQUEST);
                if(!(request && (request.imageStatus & request.STATUS_SIZE_AVAILABLE))){
                try {
                if (!(imgList instanceof Components.interfaces.nsIImageLoadingContent) || !imgList.currentURI) {
                    return;
                }
                    }
            catch (ex) {
                return;
            }
          restore_block_host = "";
    // Check to see if this url is blocked
    if (_pm.testPermission(imgList.currentURI, "image") == nsIPermissionManager.DENY_ACTION) {
        _pm.remove(imgList.currentURI.host, "image");
        restore_block_host = imgList.currentURI.host;
    }
                imgList.src = imgList.src; // 载入图片
                if (restore_block_host){ // turn back on the host block if necessary
                                var uri = ioService.newURI("http://" + restore_block_host, null, null);
            _pm.add(uri, "image", nsIPermissionManager.DENY_ACTION);
                }
                }
        }
}

if (oriImageBehavior != 0) {
        prefService.setIntPref("permissions.default.image", oriImageBehavior);
    }
哪些要用uc.xul,哪些用uc.js
在论坛里找了半天,老帖子里发的“去掉工具栏上的分隔线”就是去掉标签栏和工具栏之间的分隔线,都失效了,以前我在一个地方找到一个脚本,只有三行,是可以用的,可是格硬盘掉了,现在找也找不到,楼主再写个给我吧!感谢!
原帖由 shen80 于 2008-10-29 07:32 发表
在论坛里找了半天,老帖子里发的“去掉工具栏上的分隔线”就是去掉标签栏和工具栏之间的分隔线,都失效了,以前我在一个地方找到一个脚本,只有三行,是可以用的,可是格硬盘掉了,现在找也找不到,楼主再写个给我吧!感谢! ...
你对功能没搞清楚,定制外观的属于userchrome.css
搜索一下很容易看到那个帖
粘贴并转到这个脚本在最新的3.1b2里面无效了,不过粘贴并搜索还是有用的
原帖由 blackwolf 于 2008-11-5 23:11 发表
粘贴并转到这个脚本在最新的3.1b2里面无效了,不过粘贴并搜索还是有用的
http://mozilla.sociz.com/viewthread.php?tid=25893
原帖由 Cye3s 于 2008-11-8 21:58 发表

http://mozilla.sociz.com/viewthread.php?tid=25893
感谢,可以用了
哪位把http://zoolcar9.lhukie.net/mozilla/userChromeJS/里面的viewSourceInTab.uc.js和viewSelectionSourceInTab.uc.js改下吧,在3.03中无法使用了
链接被屏蔽
Tab Focus一样,把鼠标光标放在标签页上一段时间(不点击)获得该标签页焦点的脚本。
  1. gBrowser.mTabBox.addEventListener('mouseover',
  2.     function(e){ gBrowser.selectedTab=e.target },
  3.     false);
复制代码
[ 本帖最后由 nettrottist 于 2008-11-14 08:45 编辑 ]
有没有适合3.1版本的超级拖拽脚本,原先的不能用了