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

Mozest™

  • 正在加载用户菜单…

开放、分享、互助

可以加上 try {} catch() {} 试试看
  1. (function() {
  2.     try {
  3.     alert(document.getElementById("urlbar").handleCommand.toString());

  4.     /*open bookmark in new tab */
  5.     eval("PlacesUIUtils.openNodeIn = " + PlacesUIUtils.openNodeIn
  6.         .toString().replace("openUILinkIn(aNode.uri, aWhere);",
  7.         "if ((gBrowser.currentURI.spec != 'about:blank' ||      \
  8.         gBrowser.webProgress.isLoadingDocument) && (aNode.uri.  \
  9.         indexOf('javascript:') == -1)) {openUILinkIn(aNode.uri, \
  10.         'tab');}else{openUILinkIn(aNode.uri, aWhere);}"));
  11.   
  12.     /*open history in new tab */
  13.     document.getElementById("history-menu").setAttribute(
  14.         "oncommand", "openUILinkIn(event.target.node.uri, 'tab');");

  15.     /*open url in new tab */
  16.     var urlbar = document.getElementById("urlbar");
  17.     eval("urlbar.handleCommand = " + urlbar.handleCommand.toString(
  18.         ).replace('if (aTriggeringEvent instanceof MouseEvent) {',
  19.         '_LoadURL(aTriggeringEvent, postData); return; $&'));

  20.     /*open search in new tab */
  21.     var cName = "@mozilla.org/preferences-service;1";
  22.     var fPref = Components.classes[cName].getService(Components
  23.         .interfaces.nsIPrefService);
  24.     if (fPref.getBoolPref("browser.search.openintab") != true)
  25.         fPref.setBoolPref("browser.search.openintab", true);
  26.     }
  27.     catch(e){
  28.         alert(e);
  29.     }
  30. })();

  31. function _LoadURL(aTriggeringEvent, aPostData)
  32. {
  33.     var where = (gBrowser.currentURI.spec!='about:blank' ||
  34.         gBrowser.webProgress.isLoadingDocument) ? 'tab' :
  35.         'current';
  36.     if (gURLBar.value!='') openUILinkIn(gURLBar.value, where);
  37.     return true;
  38. }
复制代码
[ 本帖最后由 golf-at 于 2008-11-15 18:49 编辑 ]
kankan
附件: 您所在的用户组无法下载或查看附件
原帖由 zls 于 2008-11-15 18:49 发表
kankan
这些参数,除了 browser.urlbar.clickSelectsAll 和 browser.urlbar.doubleClickSelectsAll 外,其它的和我的一样。
突然想起来了,只有书签有效的话,可能是你们去掉 历史 菜单了,导致脚本
document.getElementById("history-menu").setAttribute(......)
出错了。
楼上正解,确实是去掉 历史 菜单的问题
但是搜索和地址栏依然无效 其他的正常,其他脚本也可以用了
哦?我整个菜单栏都隐藏了的。即没有历史菜单,也没有书签菜单了。
加上 try {} catch()
脚本失效
原帖由 nettrottist 于 2008-11-15 19:18 发表
哦?我整个菜单栏都隐藏了的。即没有历史菜单,也没有书签菜单了。
隐藏了只是看不见,菜单还是存在的。但是使用一些扩展或者脚本的话,可能会将历史菜单删除掉。
原帖由 zls 于 2008-11-15 19:22 发表
加上 try {} catch()
脚本失效
你现在使用的是我1楼的代码吗?1楼我已经在可能出错的地方加上try {}catch() {} 了。如果脚本无效的话,可以将两个
catch(e) {} 改成 catch(e) { alert(e); } ,这样可以看到错误信息。

[ 本帖最后由 golf-at 于 2008-11-15 20:38 编辑 ]
原帖由 zls 于 2008-11-15 19:09 发表
楼上正解,确实是去掉 历史 菜单的问题
但是搜索和地址栏依然无效 其他的正常,其他脚本也可以用了
搜索很简单,我的那个代码,也只是改 firefox 的一个设定,你也可以自己修改一下就行了。
附件: 您所在的用户组无法下载或查看附件
搜索的那段代码 原来要 搜索框有内容的时候,在新的标签打开
希望更改一下
原帖由 zls 于 2008-11-15 21:54 发表
是其它的某个脚本,将 urlbar.handleCommand 设为 null 了。默认的 firefox 是有这个函数的。
那现在怎么办啊 高尔夫
原帖由 golf-at 于 2008-11-15 22:26 发表

是其它的某个脚本,将 urlbar.handleCommand 设为 null 了。默认的 firefox 是有这个函数的。
我之前一直用3.1b2pre,刚刚用 3.0.4试了一下,发现 3.0.* 没有 urlbar.handleCommand 这个函数。我再看看 3.0.* 下是怎么弄的。
原帖由 zls 于 2008-11-15 21:54 发表
现在改好了(修改后的代码见1楼),针对 firefox 3.0.* 和 firefox 3.1 做了不同的处理。
我这里试了还是不行!
原帖由 nettrottist 于 2008-11-15 23:15 发表
我这里试了还是不行!
这次我在 firefox 3.0.3, 3.0.4, 3.1b2pre 下都测试了,全部是 OK 的。这次还不行的话,应该就是和其它脚本冲突了。
成功鸟 谢谢高尔夫
一点点小问题:搜索栏要回车方可在新的tab打开,按放大镜就在原tab打开
http://mozilla.sociz.com/viewthr ... mp;page=1#pid153158

这里有位坛友提供了一个新的脚本,看仍然是某位日本高人写的。
解决了搜索栏按放大镜是在当前标签页打开的缺陷。但是这个脚本有个不理想的地方是:从历史和书签里打开的标签页是在后台新标签页,而不是前台新标签页。请问楼主怎么改法,才能变成是在前台标签页打开呢、

并且这个历史和书签打开,需要是用ctrl shift H或者ctrl shift B弹出的历史和书签,才能在新标签页打开。如果是用侧边栏打开的历史和书签栏,是在当前书签打开的!

而且又发现了一个问题:用了这个之后,原来我用的“自动清空搜索栏并返回默认搜索引擎”的脚本就完全失效了!

[ 本帖最后由 nettrottist 于 2008-11-16 16:34 编辑 ]
确实搜索引擎”的脚本完全失效
后台新标签页,不错
原帖由 nettrottist 于 2008-11-16 09:38 发表
一点点小问题:搜索栏要回车方可在新的tab打开,按放大镜就在原tab打开

啊,我还以为这个脚本能克服这个毛病呢?我用下面的办法


结果也一样,按放大镜在当前tab打开。 ...
我已在1楼修改了代码,现在点击放大镜也在新标签页打开搜索了。
原帖由 golf-at 于 2008-11-15 13:49 发表

你这个脚本,只是鼠标放到地址栏或者搜索栏自动激活它们,但是并不会选择其中的文字。和其中的说明不符(说明是“自动全选”)。你究竟是想自动全选,还是自动激活?激活只是得到键盘输入焦点,和文字全选没有关系。 ...
你写一个鼠标放到地址栏或者搜索栏,就自动全选文字的吧!这个功能还是很节省人力。
1楼脚本和锁定标签页脚本有冲突,转到上一页、下一页功能无法用了
6页啊,整明白没有?
原帖由 qjahz 于 2008-11-17 10:28 发表
1楼脚本和锁定标签页脚本有冲突,转到上一页、下一页功能无法用了
我也不知道其他人写的锁定标签页的脚本是什么样子,我在1楼和2楼的脚本代码,都非常简单,别的脚本怎么写的,我就管不了那么多啦。
原帖由 nettrottist 于 2008-11-17 08:25 发表

你写一个鼠标放到地址栏或者搜索栏,就自动全选文字的吧!这个功能还是很节省人力。
  1. // ==UserScript==
  2. // @作用: 鼠标放置地址栏,自动全选地址栏
  3. // @作者: idragonet
  4. // ==/UserScript==   

  5. document.getElementById("urlbar").addEventListener("mouseover", function(event) {

  6.    gURLBar.focus();

  7. }, false);
  8. document.getElementById("searchbar").addEventListener("mouseover", function(event) {
  9. var searchbar = document.getElementById("searchbar");
  10. searchbar.focus();
  11. }, false);
复制代码
[ 本帖最后由 zls 于 2008-11-17 11:23 编辑 ]
之前我就说了,上面的代码,只是将地址栏和搜索栏自动取得输入焦点,并没有自动选择里面的文字。自动选择地址栏和搜索栏里面的文字的代码如下:
  1. document.getElementById("urlbar").addEventListener("mouseover",
  2.     function(e) { document.getElementById("urlbar").select(); },
  3.     false);
  4. document.getElementById("searchbar").addEventListener("mouseover",
  5.     function(e) { document.getAnonymousElementByAttribute(document
  6.     .getElementById("searchbar"), "class", "searchbar-textbox").
  7.     select(); }, false);
复制代码
不过已经偏离这个帖子主题了,这个帖子本来是讨论在新标签页打开链接的,用来取代标签扩展用的。
楼主 按我自己的要求 现在的确可以不用tab类的扩展了
原帖由 golf-at 于 2008-11-15 12:37 发表
不过我也没看来哪个地方有冲突。zls 的那个隐藏标题栏脚本有一个小错误,!== 应该是 !=
这是错误?