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

Mozest™

  • 正在加载用户菜单…

开放、分享、互助

解决书签菜单太长的问题,改为分多个子菜单显示
http://space.geocities.jp/alice0775/userChromejs3.html
上面的bookmarkMenuDevidedEach30.uc.js
被墙,我传上来
附件: 您所在的用户组无法下载或查看附件
我很懒...论坛消息很少看,所以可能很久没反应>_<
右键点击标签=关闭标签
http://g.mozest.com/index.php?showtopic=23656
我很懒...论坛消息很少看,所以可能很久没反应>_<
请问JS结尾的怎么安装啊?
请问安装方法
引用 (wozzl @ 2008年6月26日 17:47) <{POST_SNAPBACK}>
请问安装方法

第一个帖子不是写着么,难道要我手把手告诉你咋用 ;) :(
我很懒...论坛消息很少看,所以可能很久没反应>_<
greasemonkey的翻页脚本能移植过来不?
http://g.mozest.com/index.php?showtopic=23048
现在装了好几个脚本运行支持扩展
优秀的浏览速度,随心的界面定制,方便的自由扩展,而且还有我很“”的头像,为什么不选择狐狸MM呢?
对3.0正式版是不是很多脚本都失效了?CTL+F开关搜索栏可用,但paste and go脚本都没效果
引用 (Cye3s @ 2008年6月26日 17:02) <{POST_SNAPBACK}>
解决书签菜单太长的问题,改为分多个子菜单显示
http://space.geocities.jp/alice0775/userChromejs3.html
上面的bookmarkMenuDevidedEach30.uc.js
被墙,我传上来



已经弄好了,但是想请问下,我想让多出来的书签从第二列的第一排开始显示
而不是这个的从最底部开始,请问还有什么方法吗..
引用 (Cye3s @ 2008年6月26日 17:02) <{POST_SNAPBACK}>
解决书签菜单太长的问题,改为分多个子菜单显示
http://space.geocities.jp/alice0775/userChromejs3.html
上面的bookmarkMenuDevidedEach30.uc.js
被墙,我传上来


这个代码好像还是有点问题
把鼠标对着分列后的书签后点击右键没反映啊
3.0不用Tab Mix类的扩展,标签栏放在底部
  1. gBrowser.mTabBox.setAttribute('dir','rtl');
复制代码
[ 本帖最后由 Cye3s 于 2008-9-2 16:36 编辑 ]
我很懒...论坛消息很少看,所以可能很久没反应>_<

用easy drag to go 拖拽文字搜索时,如果不拖到搜索栏就不会在搜索框存住,能否用个脚本自动在搜索框复制出来,以便配合这个切换搜索引擎的脚本?




已用CB2的autopaste解决。
引用 (Cye3s @ 2007年12月27日 21:50) <{POST_SNAPBACK}>
引用 (nettrottist @ 2007年12月27日 9:15 PM) <{POST_SNAPBACK}>
这个贴子精华啊。继续介绍啊。

脚本一般有说明,自己也可以看看" border="0" alt="" />
代替Compact Menu
代码
(function() {
  var compact = document.createElement("menu");
  compact.setAttribute("label", "Menu");

  var mPopup = document.createElement("menupopup");

  var menubar = document.getElementById("main-menubar");
  var menus = menubar.childNodes.length;
  for (var i = 0; i < menus; ++i) {
    mPopup.appendChild(menubar.firstChild);
  }

  compact.appendChild(mPopup);
  menubar.appendChild(compact);

})();


如果想把这个MENU移到工具栏上要怎么改脚本?
LS的兄弟,我弄了个,试下
隐藏菜单栏,并在前进后退按钮前增加一个下拉按钮
  1. (function()
  2. {
  3.   var mPopup = document.createElement("menupopup");
  4.   var menubar = document.getElementById("main-menubar");
  5.   var menus = menubar.childNodes.length;
  6.   for (var i = 0;i < menus;++i)
  7.   {
  8.     mPopup.appendChild(menubar.firstChild);
  9.   }
  10.   var newButton = document.createElement("toolbarbutton");
  11.   newButton.setAttribute("label", "MianMenu");
  12.   newButton.setAttribute("type", "menu");
  13.   newButton.id='mainMenuToolButton'
  14.   newButton.appendChild(mPopup);
  15.   newButton.style.listStyleImage = "url(chrome://browser/skin/tabbrowser/tabDragIndicator.png)";
  16.   var firstButton = document.getElementById("unified-back-forward-button");
  17.   firstButton.parentNode.insertBefore(newButton, firstButton);
  18.   document.getElementById("toolbar-menubar").collapsed = true;
  19. }
  20. )();
复制代码
newButton.style.listStyleImage = "url(chrome://browser/skin/tabbrowser/tabDragIndicator.png)";
chrome://browser/skin/tabbrowser/tabDragIndicator.png换成其它base64编码的PNG图片,可以换图标

var firstButton = document.getElementById("unified-back-forward-button");
unified-back-forward-button换成其它工具栏按钮的ID,可以改变菜单下拉按钮位置

[ 本帖最后由 Cye3s 于 2008-9-2 16:37 编辑 ]
我很懒...论坛消息很少看,所以可能很久没反应>_<
引用 (Cye3s @ 2008年2月22日 13:03) <{POST_SNAPBACK}>
Em的菜单和UE不一样,你得自己找找了 " border="0" alt="" />
换成BBCode:
代码
(function()
{
    window.ucjs_copyTabInfo = function(aAsBBCode)
    {
        var tab = document.popupNode;
        var surl = gBrowser.getBrowserForTab(tab).contentWindow.location.href;
        var txt = aAsBBCode ?
            '[url="' + surl + '"]' + tab.label + '[/url]' :
            tab.label + "\n" + surl;
        var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
                        .getService(Components.interfaces.nsIClipboardHelper);
        clipboard.copyString(txt);
    };
    var menuitem1 = document.createElement("menuitem");
    menuitem1.setAttribute("label", "\uFEFF\u590D\u5236\u6807\u7B7E\u9875\u6807\u9898 + URL");
    menuitem1.setAttribute("oncommand", "ucjs_copyTabInfo(false);");
    var menuitem2 = document.createElement("menuitem");
    menuitem2.setAttribute("label", "\u590D\u5236\u6807\u7B7E\u9875\u6807\u9898 + URL(BBCode)");
    menuitem2.setAttribute("oncommand", "ucjs_copyTabInfo(true);");
    setTimeout(function()
    {
        gBrowser.mStrip.childNodes[1].appendChild(document.createElement("menuseparator"));
        gBrowser.mStrip.childNodes[1].appendChild(menuitem1);
        gBrowser.mStrip.childNodes[1].appendChild(menuitem2);
    }, 0);
})();

照着这个依葫芦自己写了一个含【复制标签页标题 + URL】、【复制标签页标题 + URL(BBCode)】和【复制标签页标题 + URL(HTML)】的
代码
/**
* A user script for userChrome.js extension.
* @name Copy Title + URL
* @description Add 'Copy Title + URL' and 'Copy Title + URL (BBCode)' commands
*              to the context menu of browser tab.
* @compatibility Firefox 2.0 3.0
* @permalink http://www.xuldev.org/blog/
*/
(function()
{
    window.ucjs_copyTabInfo_BBCode = function(aAsBBCode)
    {
        var tab = document.popupNode;
        var surl = gBrowser.getBrowserForTab(tab).contentWindow.location.href;
        var txt = aAsBBCode ?
            '[url="' + surl + '"]' + tab.label + '[/url]' :
            tab.label + "\n" + surl;
        var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
                        .getService(Components.interfaces.nsIClipboardHelper);
        clipboard.copyString(txt);
    };
    window.ucjs_copyTabInfo_HTML = function(aAsHTML)
    {
        var tab = document.popupNode;
        var surl = gBrowser.getBrowserForTab(tab).contentWindow.location.href;
        var txt = aAsHTML ?
            '<a href="' + surl + '">' + tab.label + '</a>' :
            tab.label + "\n" + surl;
        var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
                        .getService(Components.interfaces.nsIClipboardHelper);
        clipboard.copyString(txt);
    };
    var menuitem1 = document.createElement("menuitem");
    menuitem1.setAttribute("label", "\u590D\u5236\u6807\u7B7E\u9875\u6807\u9898 + URL");
    menuitem1.setAttribute("oncommand", "ucjs_copyTabInfo_BBCode(false);");
    var menuitem2 = document.createElement("menuitem");
    menuitem2.setAttribute("label", "\u590D\u5236\u6807\u7B7E\u9875\u6807\u9898 + URL(BBCode)");
    menuitem2.setAttribute("oncommand", "ucjs_copyTabInfo_BBCode(true);");
    var menuitem3 = document.createElement("menuitem");
    menuitem3.setAttribute("label", "\u590D\u5236\u6807\u7B7E\u9875\u6807\u9898 + URL(HTML)");
    menuitem3.setAttribute("oncommand", "ucjs_copyTabInfo_HTML(true);");
    setTimeout(function()
    {
        gBrowser.mStrip.childNodes[1].appendChild(document.createElement("menuseparator"));
        gBrowser.mStrip.childNodes[1].appendChild(menuitem1);
        gBrowser.mStrip.childNodes[1].appendChild(menuitem2);
        gBrowser.mStrip.childNodes[1].appendChild(menuitem3);
    }, 0);
})();

不过觉得代码似乎有点繁冗 不知道该怎么精简下 " border="0" alt="" />
我用3.01  这个插件不可用啊  帮帮我啊
LS你扩展安装上去了么?userChrome.js文件放好了没?


再加几个脚本
右键菜单中切换User-Agent,有些日文,小改下就是了
http://www.code-404.net/articles/browsers/...e.ja.utf8.shtml
右键菜单复制不同格式链接
http://www.code-404.net/articles/browsers/...e.ja.utf8.shtml


还有几个
http://coderepos.org/share/browser/lang/ja...chrome?rev=9716
有一个closerightleft.uc.js应该是增加"关闭左(右)边标签页"菜单
verticaltab.uc.js,垂直标签栏
其它没细看 -_-

再来几个
http://white.s151.xrea.com/wiki/index.php?...%2FuserChromejs
我很懒...论坛消息很少看,所以可能很久没反应>_<
引用 (Cye3s @ 2008年7月30日 17:01) <{POST_SNAPBACK}>
再加几个脚本
右键菜单中切换User-Agent,有些日文,小改下就是了
http://www.code-404.net/articles/browsers/...e.ja.utf8.shtml
右键菜单复制不同格式链接
http://www.code-404.net/articles/browsers/...e.ja.utf8.shtml


还有几个
http://coderepos.org/share/browser/lang/ja...chrome?rev=9716
有一个closerightleft.uc.js应该是增加"关闭左(右)边标签页"菜单
verticaltab.uc.js,垂直标签栏
其它没细看 -_-

再来几个
http://white.s151.xrea.com/wiki/index.php?...%2FuserChromejs


不懂日文,又看不懂代码,淘不到好脚本,痛苦ing........
垂直标签栏能不能修改成标签栏文字也竖向排列?不然占用的空间太大了,变成了侧边栏,不实用。
再来一个,在未载入的图片(相当于IE中的红X)的右键菜单加入"重新载入所有未显示图片"
这是在楼主另一帖子中代码的基础上修改的,原文见 http://wmz.uu1001.com/read.php?tid=22 六楼
CODE
var showImage = {

showImageInit: function(){
this.mItem = document.createElement("menuitem");
this.mItem.setAttribute("label", "\u91CD\u65B0\u8F7D\u5165\u6240\u6709\u672A\u663E\u793A\u56FE\u7247");
this.mItem.setAttribute("accesskey", "C");

document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function(){
showImage.onPopupShowing(this);
}, false);
},

onPopupShowing: function(aPopup){
aPopup.insertBefore(this.mItem, document.getElementById("context-viewimage"));
this.mItem.setAttribute("oncommand", "showImage.performShowImage(true);");
this.mItem.hidden = !(gContextMenu.onImage && (!gContextMenu.target.naturalWidth || !gContextMenu.target.complete));
this.mItem.setAttribute("disabled", this.mItem.hidden);
},

performShowImage: function(reload){
var imgList = document.popupNode.ownerDocument.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 (showImage.ImageAlreadyLoaded(imgList) == true && reload == true) {
var imgSrc = imgList.getAttribute("src");
imgList.setAttribute("src", "");
var imgURI = imgList.currentURI;
var imageCacheService = Components.classes['@mozilla.org/image/cache;1'].getService(Components.interfaces.imgICache);
imageCacheService.removeEntry(imgURI);
imgList.setAttribute("src", imgSrc);
}
}

if (oriImageBehavior != 0) {
prefService.setIntPref("permissions.default.image", oriImageBehavior);
}
return;
},

ImageAlreadyLoaded: function(image){ //Check if current image is already loaded
if (image instanceof Components.interfaces.nsIImageLoadingContent) {// Important check
var request = image.getRequest(Components.interfaces.nsIImageLoadingContent.CURRENT_REQUEST);
return !(request && (request.imageStatus & request.STATUS_SIZE_AVAILABLE));
}
else
return false;
}

};

showImage.showImageInit();
引用 (zb0502 @ 2008年8月1日 15:06) <{POST_SNAPBACK}>
再来一个,在未载入的图片(相当于IE中的红X)的右键菜单加入"重新载入所有未显示图片"
这是在楼主另一帖子中代码的基础上修改的,原文见 http://wmz.uu1001.com/read.php?tid=22 六楼

fx 3 下试了没效果,右键菜单没有相应的"重新载入所有未显示图片"
引用 (hug @ 2008年8月11日 19:39) <{POST_SNAPBACK}>
引用 (zb0502 @ 2008年8月1日 15:06) <{POST_SNAPBACK}>
再来一个,在未载入的图片(相当于IE中的红X)的右键菜单加入"重新载入所有未显示图片"
这是在楼主另一帖子中代码的基础上修改的,原文见 http://wmz.uu1001.com/read.php?tid=22 六楼

fx 3 下试了没效果,右键菜单没有相应的"重新载入所有未显示图片"

只有在图片未显示出来时右键菜单里才会出现
引用 (zb0502 @ 2008年8月11日 20:56) <{POST_SNAPBACK}>
只有在图片未显示出来时右键菜单里才会出现

果然,成功了!
之前用Show Picture这个add-on时间长了,习惯一直看到在右键菜单里这一项,呵呵
双击空白页面关闭标签,按住Ctrl+双击还是选择一行文字
比以前的一个脚本简单,不判断点击的对象了,省得在文本附近双击老失效
  1. // ==UserScript==
  2. // @name           closeTabOnDblClick.uc.js
  3. // @include        main
  4. // @compatibility  Firefox 3.0
  5. // @author         Cye3s
  6. // @version        LastMod 2008-08-30 10:38
  7. // ==/UserScript==

  8. gBrowser.mPanelContainer.addEventListener("dblclick",
  9.      function(aEvent){
  10.        if (aEvent.ctrlKey) return;
  11.        aEvent.stopPropagation();
  12.        gBrowser.removeCurrentTab();
  13.      }, false);
复制代码
我很懒...论坛消息很少看,所以可能很久没反应>_<
原帖由 Cye3s 于 2008-8-30 11:02 发表
双击空白页面关闭标签,按住Ctrl+双击还是选择一行文字
比以前的一个脚本简单,不判断点击的对象了,省得在文本附近双击老失效// ==UserScript==
// @name           closeTabOnDblClick.uc.js
// @include        mai ...
不错
蛮好的东西
代码我都能看懂.^_^
原帖由 zb0502 于 2008-8-1 15:06 发表
再来一个,在未载入的图片(相当于IE中的红X)的右键菜单加入"重新载入所有未显示图片"这是在楼主另一帖子中代码的基础上修改的,原文见 http://wmz.uu1001.com/read.php?tid=22  六楼CODEvar showImage = {    showImageI ...
用上了, 在未显示图片上点右键能出现命令, 不过好像选择以后不起作用???

回复 161楼 liuxb 的帖子

我现在用的 3.1b1pre ,确实失效了,不过之前用的 3.0 的还正常
我再查查是什么原因

回复 161楼 liuxb 的帖子

好了,仿照 show picture 扩展修改了一下,现在可以用了,我在 3.1b1pre 上测试通过
补充一下:多谢LX两位TX提醒,interfaces改正了
  1. /*
  2. 在未载入的图片(相当于IE中的红X)的右键菜单加入"重新载入所有未显示图片"
  3. */
  4. const nsIPermissionManager = Components.interfaces.nsIPermissionManager;
  5. var _pm = Components.classes["@mozilla.org/permissionmanager;1"].getService(Components.interfaces.nsIPermissionManager);
  6. var ioService = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
  7. var restore_block_host;

  8. showImageInit = function(){
  9.     mItem = document.createElement("menuitem");
  10.     mItem.setAttribute("label", "\u91CD\u65B0\u8F7D\u5165\u6240\u6709\u672A\u663E\u793A\u56FE\u7247");
  11.     mItem.setAttribute("accesskey", "C");
  12.    
  13.     document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function(){
  14.         onPopupShowing(this);
  15.     }, false);
  16. }

  17. onPopupShowing = function(aPopup){
  18.     aPopup.insertBefore(mItem, document.getElementById("context-viewimage"));
  19.     mItem.setAttribute("oncommand", "performShowImage(true);");
  20.     mItem.hidden = !(gContextMenu.onImage && (!gContextMenu.target.naturalWidth || !gContextMenu.target.complete));
  21.     mItem.setAttribute("disabled", mItem.hidden);
  22. }

  23. performShowImage = function(reload){
  24.     var imgList = document.popupNode.ownerDocument.images;
  25.     var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
  26.     var oriImageBehavior = 0;
  27.     if (prefService.getIntPref("permissions.default.image") != 0) {
  28.         oriImageBehavior = prefService.getIntPref("permissions.default.image");
  29.         prefService.setIntPref("permissions.default.image", 0);
  30.     }
  31.    
  32.     for (var i = 0; i < imgList.length; ++i) {
  33.         if (ImageAlreadyLoaded(imgList[i]) == true && reload == true)
  34.             revealPicture(imgList[i]);
  35.     }
  36.    
  37.     if (oriImageBehavior != 0) {
  38.         prefService.setIntPref("permissions.default.image", oriImageBehavior);
  39.     }
  40.     return;
  41. }

  42. // 重新载入图片
  43. revealPicture = function(imgNode){
  44.     try {
  45.         if (!(imgNode instanceof Components.interfaces.nsIImageLoadingContent) || !imgNode.currentURI) {
  46.             return;
  47.         }
  48.     }
  49.     catch (ex) {
  50.         return;
  51.     }
  52.     checkBlocking(imgNode);
  53.     imgNode.src = imgNode.src; // 载入图片
  54.     if (restore_block_host) // turn back on the host block if necessary
  55.         restoreBlocking();
  56. }

  57. checkBlocking = function(imgNode){
  58.     restore_block_host = "";
  59.     // Check to see if this url is blocked
  60.     if (_pm.testPermission(imgNode.currentURI, "image") == nsIPermissionManager.DENY_ACTION) {
  61.         _pm.remove(imgNode.currentURI.host, "image");
  62.         restore_block_host = imgNode.currentURI.host;
  63.     }
  64. }

  65. restoreBlocking = function(){
  66.     var uri = ioService.newURI("http://" + restore_block_host, null, null);
  67.     _pm.add(uri, "image", nsIPermissionManager.DENY_ACTION);
  68. }

  69. // 判读图片是否已加载。true:未加载;false:已加载
  70. ImageAlreadyLoaded = function(image){
  71.     if (image instanceof Components.interfaces.nsIImageLoadingContent) {
  72.         var request = image.getRequest(Components.interfaces.nsIImageLoadingContent.CURRENT_REQUEST);
  73.         return !(request && (request.imageStatus & request.STATUS_SIZE_AVAILABLE));
  74.     }
  75.     else
  76.         return false;
  77. }



  78. showImageInit();
复制代码
[ 本帖最后由 zb0502 于 2008-9-4 07:43 编辑 ]
奇怪,这论坛关键字过滤怎么连CODE标签里的也过滤啊
LS你代码第一行的inte r f a ce被改坏了
我很懒...论坛消息很少看,所以可能很久没反应>_<
原帖由 zb0502 于 2008-9-3 09:48 发表 [url=http://g.mozest.com/redirect.php?goto=findpost&pid=139734&ptid=20276][/url]
好了,仿照 show picture 扩展修改了一下,现在可以用了,我在 3.1b1pre 上测试通过
谢谢,用上了. 一切正常.
就是如楼上说的, 要把每个地方的interface都替换一下.
有书签和搜索栏在新建标签页打开的脚本吗?
MS这扩展不支持3.0的啊,只支持到beta
This release should work for Firefox and Thunderbird 2.0 as well as version 1.5.0.7 and later and all Gecko 1.9 applications such as all Firefox 3 betas.