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

Mozest™

  • 正在加载用户菜单…

开放、分享、互助

右键点击刷新和停止应用到所有标签页,可以看按钮的ToolTip,类似TheWorld
2008-05-29修改:刷新按钮上点击中键刷新页面内所有图片;按钮被禁用时不响应动作
  1. // ==UserScript==
  2. // @include      main
  3. // @author       Cye3s
  4. // @version      1.0.20080529
  5. // ==/UserScript==

  6. (function() {
  7.     var stopbutton = document.getElementById("stop-button");
  8.     var reloadbutton = document.getElementById("reload-button");
  9.     if (stopbutton){
  10.         stopbutton.setAttribute("onclick", "this.getAttribute('disabled')) return; if(event.button == 2) gBrowser.stopAllTabs();");
  11.         stopbutton.setAttribute("context", "");
  12.         stopbutton.setAttribute("tooltiptext", "\u5DE6\u952E:\u505C\u6B62\u8F7D\u5165\u5F53\u524D\u9875\u9762\n\u53F3\u952E:\u505C\u6B62\u8F7D\u5165\u6240\u6709\u9875\u9762");
  13.     }
  14.     if (reloadbutton){
  15.         reloadbutton.setAttribute("onclick", "if (this.getAttribute('disabled')) return; if(event.button == 2) gBrowser.reloadAllTabs(); if(event.button == 1) gBrowser.showAllImages();");  
  16.         reloadbutton.setAttribute("context", "");
  17.         reloadbutton.setAttribute("tooltiptext", "\u5DE6\u952E:\u91CD\u65B0\u8F7D\u5165\u5F53\u524D\u9875\u9762\n\u4E2D\u952E:\u91CD\u65B0\u8F7D\u5165\u6240\u6709\u56FE\u7247\n\u53F3\u952E:\u91CD\u65B0\u8F7D\u5165\u6240\u6709\u9875\u9762");
  18.     }
  19. })();

  20. gBrowser.stopAllTabs = function() {
  21.     var len = gBrowser.mPanelContainer.childNodes.length;
  22.     for (var i = 0; i < len; i++) {
  23.         gBrowser.getBrowserAtIndex(i).stop();
  24.     }
  25. }

  26. gBrowser.reloadAllTabs = function() {
  27.     var len = gBrowser.mPanelContainer.childNodes.length;
  28.     for (var i = 0; i < len; i++) {
  29.         gBrowser.getBrowserAtIndex(i).reload();
  30.     }
  31. }

  32. gBrowser.showAllImages = function() {
  33.     var doc = gContextMenu ? gContextMenu.target.ownerDocument
  34.                            : content.document;
  35.     var imgs = doc.images;
  36.     if (!imgs.length) return;
  37.     for (var i = 0; i < imgs.length; i++) {
  38.       imgs[i].src = imgs[i].src;
  39.     }
  40.   }
复制代码
[ 本帖最后由 Cye3s 于 2008-9-2 16:31 编辑 ]
我很懒...论坛消息很少看,所以可能很久没反应>_<
右键菜单?也基本差不多了……

停止载入本页呢?
引用 (nettrottist @ 2008年3月1日 2:02 PM) <{POST_SNAPBACK}>
右键菜单?也基本差不多了……

停止载入本页呢?

右键点击就行了
停止载入,左键点停止按钮不就行了?按ESC也行
我很懒...论坛消息很少看,所以可能很久没反应>_<
为了界面的简洁,按钮被我取消了。哈哈。那就按ESC吧。

正在把火狐变成一个超级懒人浏览器。哈哈~~
引用 (nettrottist @ 2008年3月1日 12:46 AM) <{POST_SNAPBACK}>
http://space.geocities.yahoo.co.jp/gl/alice0775/view/200709

这里一个日本人編的代码好强啊。大大增强了drag de go的机能。看他的介绍除了可实现drag de go能实现的指定引擎打开。保存链接等功能。还增加实现页面搜索,站内搜索。楼主看看这段代码……


多谢,已下载使用,功能强大,就是体积大了点。可以针对链接、图片、XPI文件、选定文字进行4个方向的设置,还支持从Firefox拖入、Sidebar拖曳的动作设置。可以调用外部程序打开链接(用于下载),可以指定搜索引擎。我用它加了个Read it Later的动作。
找半天原来置顶了,晕...
其实很多人都不看置顶帖的,哈哈

我看能不能请金箭或dudu开个脚本子版块,专门讨论以下这些扩展的JS脚本
greasemonkey
userChromeJS
Customer Button
keyconfig
firegestures
我很懒...论坛消息很少看,所以可能很久没反应>_<
引用 (Cye3s @ 2008年3月1日 4:44 PM) <{POST_SNAPBACK}>
找半天原来置顶了,晕...
其实很多人都不看置顶帖的,哈哈

我看能不能请金箭或dudu开个脚本子版块,专门讨论以下这些扩展的JS脚本
greasemonkey
userChromeJS
Customer Button
keyconfig
firegestures

嗯,想法不错。
一般帖子置顶以后就没人讨论拉,经常遇到这种情况。
引用 (Cye3s @ 2008年3月1日 4:44 PM) <{POST_SNAPBACK}>
我看能不能请金箭或dudu开个脚本子版块,专门讨论以下这些扩展的JS脚本
greasemonkey
userChromeJS
Customer Button2
keyconfig
firegestures


这五个确实是火狐的五大金钢。很有深入讨论的空间和必要。
恩,觉得社区论坛的板块设置有些地方不是很好!

像 推介与寻求 这个子板块开始不知道其存在,觉得寻求和推荐主题还是主板块中进行比较好!而 greasemonkey 只有在开发者板块有!如果改成 Cye3s 提议的 脚本子版块 是个不错的主意,需要某些高级设置的人可以进入讨论!
两个愿望均已实现,Eric的效率还是很高的,呵呵。
真是高效啊,呵呵
我很懒...论坛消息很少看,所以可能很久没反应>_<
在右键菜单中添加Clear命令,这个还比较实用一些,不过这个脚本添加的菜单命令是日文的,下载下来后需要自己修改一下。

http://space.geocities.jp/alice0775/STORE/...learfield.uc.js
引用 (我行我速 @ 2008年3月2日 3:37 PM) <{POST_SNAPBACK}>
在右键菜单中添加Clear命令,这个还比较实用一些,不过这个脚本添加的菜单命令是日文的,下载下来后需要自己修改一下。

http://space.geocities.jp/alice0775/STORE/...learfield.uc.js

clear什么?清除地址栏,搜索栏和文本框的吗?
引用 (nettrottist @ 2008年3月2日 5:13 PM) <{POST_SNAPBACK}>
引用 (我行我速 @ 2008年3月2日 3:37 PM) <{POST_SNAPBACK}>
在右键菜单中添加Clear命令,这个还比较实用一些,不过这个脚本添加的菜单命令是日文的,下载下来后需要自己修改一下。

http://space.geocities.jp/alice0775/STORE/...learfield.uc.js

clear什么?清除地址栏,搜索栏和文本框的吗?


它在四个地方的右键菜单添加清除命令,包括文本框、地址栏、搜索栏和查找栏。只需把代码中的UI.ConvertToUnicode("クリア")替换为UI.ConvertToUnicode("清除")就行了。
不知道怎样将 GoogleCache.xpi 这个扩展改成 userchrome.js 脚本,这个扩展很简单的。扩展地址:
http://g.mozest.com/index.php?showtopic=14488
引用 (golf-at @ 2008年3月4日 4:01 PM) <{POST_SNAPBACK}>
不知道怎样将 GoogleCache.xpi 这个扩展改成 userchrome.js 脚本,这个扩展很简单的。扩展地址:
http://g.mozest.com/index.php?showtopic=14488


它就是一个文件而已,把它的js文件解包出来放在chrome目录下改成uc.js结尾就可以啦。
引用 (我行我速 @ 2008年3月4日 4:11 PM) <{POST_SNAPBACK}>
引用 (golf-at @ 2008年3月4日 4:01 PM) <{POST_SNAPBACK}>
不知道怎样将 GoogleCache.xpi 这个扩展改成 userchrome.js 脚本,这个扩展很简单的。扩展地址:
http://g.mozest.com/index.php?showtopic=14488


它就是一个文件而已,把它的js文件解包出来放在chrome目录下改成uc.js结尾就可以啦。

呵呵,这样可以。不过我都是直接放在 userChrome.js 中。之前用到的几个脚本,都是写成一个函数,将JS脚本放在函数中。这个JS脚本不能放在一个函数中,必须将扩展中的代码直接放在 userChrome.js 中才可以。
引用 (nettrottist @ 2007年12月27日 9:15 PM) <{POST_SNAPBACK}>
【转换搜索引擎后马上搜索】这段代码的作用于搜索框,如果你搜索框已经有了关键字,此时想切换到另一个搜索引擎搜索的时候。只要转换引擎,转换后马上用你转换后的搜索引擎发起搜索。

代码
(function() {
    var searchbar = document.getElementById("searchbar");
    eval("searchbar.onEnginePopupCommand = "
         + searchbar.onEnginePopupCommand.toString().replace(/}$/,
           "if(this.getAttribute('empty') != 'true' &&\
           this.textbox.value.length)\
           this.textbox.onTextEntered();\
           }")
        );
})();


以下是同时适用于Fx2&Fx3的代码。
代码
(function() {
  var searchbar = document.getElementById("searchbar");
  eval("searchbar.select = " + searchbar.select.toString().replace(/}$/,
    "if (this.getAttribute('empty') != true && this.textbox.value.length)\
      this.textbox.onTextEntered();\
    }")
  );
})();
这段代码可以在搜索栏用鼠标滚轮选择引擎。

代码
(function() {
  var searchbar = document.getElementById("searchbar");
  searchbar.addEventListener("DOMMouseScroll", function(event) {
    this.selectEngine(event, (event.detail > 0));
  }, true);
})();
在Tab标签和浏览区的右键菜单中增加"Open In Sidebar"命令,在侧边栏打开链接。

CODE
/* :::: Open In Sidebar :::: */

var menuContextMenu = document.getElementById("contentAreaContextMenu");
var menusepOpen = document.getElementById("context-sep-open");

var menuitem1 = document.createElement("menuitem");
menuitem1.setAttribute("label", "Open Link in Sidebar");
menuitem1.addEventListener("command", function(e) {
openWebPanel(gContextMenu.linkText(), gContextMenu.linkURL);
}, false);

menuContextMenu.insertBefore(menuitem1, menusepOpen);

menuContextMenu.addEventListener("popupshowing", function(e) {
if(gContextMenu && gContextMenu.onLink)
menuitem1.removeAttribute("hidden");
else
menuitem1.setAttribute("hidden", "true");
}, false);

var menuitem2 = document.createElement("menuitem");
menuitem2.setAttribute("label", "Open in Sidebar");
menuitem2.addEventListener("command", function(e) {
openWebPanel(document.popupNode.label, gBrowser.getBrowserForTab(document.popupNode).contentWindow.location.href);
}, false);

gBrowser.mStrip.childNodes[1].appendChild(document.createElement("menuseparator"));
gBrowser.mStrip.childNodes[1].appendChild(menuitem2);
附件: 您所在的用户组无法下载或查看附件
非常感谢提供更新版本的Script Loader
自己用的根据IP自动开关代理,动手能力强的可以改改,有用的可能就是取得本机IP的代码
我的情况简单:
公司LAN IP:192.168.20.200,上网要代理
家里无线 IP:192.168.2.106,直连网络

如果是动态IP也好办,用正则表达式,或截取字符串匹配,至少C网段是固定的

事先设好代理地址,以下脚本在程序启动时根据IP来自动切换是否使用代理,没办法,我懒
  1. (function()
  2. {
  3.     cls = Components.classes['@mozilla.org/network/dns-service;1'];
  4.     iface = Components.interfaces.nsIDNSService;
  5.     dns = cls.getService(iface);
  6.     ps = Components.classes['@mozilla.org/preferences-service;1']
  7.              .getService(Components.interfaces.nsIPrefBranch);
  8.     a = new Array();
  9.      try {
  10.         var nsrecord = dns.resolve(dns.myHostName, true);
  11.         while (nsrecord.hasMore()) {
  12.             a[a.length] = nsrecord.getNextAddrAsString();
  13.         }
  14.     } catch (e) { }
  15.     localip = a.join(" | ");
  16.     if (localip == '192.168.2.106'){
  17.         ps.setIntPref("network.proxy.type",0);
  18.     }
  19.     else if (localip == '192.168.20.200'){
  20.         ps.setIntPref("network.proxy.type",1);
  21.     }    
  22. }());
复制代码
[ 本帖最后由 Cye3s 于 2008-9-4 09:09 编辑 ]
我很懒...论坛消息很少看,所以可能很久没反应>_<
这个扩展,在最新的 Firefox 3.0 b5pre 2008031800 上,似乎失效了,一个脚本也没有起作用。我换来昨天的版本,脚本没有任何问题。
挺纳闷的,好多代码存成单独的文件就没有用,非要存在userchrome里面.
另外再问一句,beta5好用么?
实在不想折腾.
引用 (golf-at @ 2008年3月18日 5:45 PM) <{POST_SNAPBACK}>
这个扩展,在最新的 Firefox 3.0 b5pre 2008031800 上,似乎失效了,一个脚本也没有起作用。我换来昨天的版本,脚本没有任何问题。

可能你的某个脚本在新版本上不兼容,导致所有脚本都没有执行了。
引用 (不带口罩 @ 2008年3月18日 7:18 PM) <{POST_SNAPBACK}>
挺纳闷的,好多代码存成单独的文件就没有用,非要存在userchrome里面.


没遇到过。什么代码呀。
引用 (我行我速 @ 2008年3月18日 8:25 PM) <{POST_SNAPBACK}>
引用 (golf-at @ 2008年3月18日 5:45 PM) <{POST_SNAPBACK}>
这个扩展,在最新的 Firefox 3.0 b5pre 2008031800 上,似乎失效了,一个脚本也没有起作用。我换来昨天的版本,脚本没有任何问题。

可能你的某个脚本在新版本上不兼容,导致所有脚本都没有执行了。

绝对不是代码不兼容,而是 userChrome.js 中的代码,根本就没有被执行。进一步说,应该是这个扩展失效了,导致 userChrome.js 中的代码根本没有被执行。
引用 (golf-at @ 2008年3月18日 9:38 PM) <{POST_SNAPBACK}>
引用 (我行我速 @ 2008年3月18日 8:25 PM) <{POST_SNAPBACK}>
引用 (golf-at @ 2008年3月18日 5:45 PM) <{POST_SNAPBACK}>
这个扩展,在最新的 Firefox 3.0 b5pre 2008031800 上,似乎失效了,一个脚本也没有起作用。我换来昨天的版本,脚本没有任何问题。

可能你的某个脚本在新版本上不兼容,导致所有脚本都没有执行了。

绝对不是代码不兼容,而是 userChrome.js 中的代码,根本就没有被执行。进一步说,应该是这个扩展失效了,导致 userChrome.js 中的代码根本没有被执行。

你的2008031800从哪里下载的,好像只能更新到2008031705嘛!
引用 (我行我速 @ 2008年3月18日 10:34 PM) <{POST_SNAPBACK}>
引用 (golf-at @ 2008年3月18日 9:38 PM) <{POST_SNAPBACK}>
引用 (我行我速 @ 2008年3月18日 8:25 PM) <{POST_SNAPBACK}>
引用 (golf-at @ 2008年3月18日 5:45 PM) <{POST_SNAPBACK}>
这个扩展,在最新的 Firefox 3.0 b5pre 2008031800 上,似乎失效了,一个脚本也没有起作用。我换来昨天的版本,脚本没有任何问题。

可能你的某个脚本在新版本上不兼容,导致所有脚本都没有执行了。

绝对不是代码不兼容,而是 userChrome.js 中的代码,根本就没有被执行。进一步说,应该是这个扩展失效了,导致 userChrome.js 中的代码根本没有被执行。

你的2008031800从哪里下载的,好像只能更新到2008031705嘛!

最新版的Firefox 3.0(Windows版): http://ftp.mozilla.org/pub/mozilla.org/fir...N32-TBOX-trunk/,目前的版本是 2008031803,还是不行。