kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
阅读:3611回复:5

有没有什么办法弄一个按钮一键切换“在新标签页中打开”?

楼主#
更多 发布于:2008-11-09 21:12
老婆问的,老婆是触摸屏,没有中键,另外按Ctrl(对链接)和Alt(对地址栏)都不方便,想问问有没有像Maxthon一样有一个“在新标签页中打开”的切换键?

因为这牵涉到几个键值,好像用CustomButtoms²可以做到吧?
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2025-09-08
  • 发帖数18502
  • 经验4858枚
  • 威望5点
  • 贡献值4324点
  • 好评度1118点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2008-11-09 21:12
默认点击链接是在当前页中打开吧,可以试试鼠标手势的扩展实现左右键同时按下时候在新标签页打开链接吧!

PS:真老婆还是假老婆(指女朋友)?
Firefox More than meets your experience
zeroieme
千年狐狸
千年狐狸
  • UID12805
  • 注册日期2006-05-17
  • 最后登录2015-10-11
  • 发帖数1407
  • 经验34枚
  • 威望0点
  • 贡献值20点
  • 好评度0点
  • 社区居民
2楼#
发布于:2008-11-09 21:12
Tab Mix Lite CE中可以设定默认在新标签页中打开。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
3楼#
发布于:2008-11-09 21:12
fang5566:默认点击链接是在当前页中打开吧,可以试试鼠标手势的扩展实现左右键同时按下时候在新标签页打开链接吧!

PS:真老婆还是假老婆(指女朋友)?
回到原帖


真老婆啦

我还真没发现Tab Mix Plus里面有一个选项,可以强制把任何左键点击的链接都在新标签页中打开的(不管是同站点的还是他站点的,除了JS链接)。其实这个切换很有必要,比方说有时在论坛读多个帖子的时候需要点链接在后台新标签页打开,有时又只是看一两个帖子,情愿一进一出也不想关闭很多个页面,这时就需要在当前页打开。

晕,我找到了这个选项:强制在新窗口打开==>All links (lock all tabs),不过它的实现还真的是很cruel:锁定所有标签页,这样就强迫所有的链接在新窗口打开了。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
saga2008
非常火狐
非常火狐
  • UID25840
  • 注册日期2008-08-15
  • 最后登录2025-01-31
  • 发帖数694
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
  • 社区居民
4楼#
发布于:2008-11-09 21:12
祝kmc夫妻生活愉快。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
5楼#
发布于:2008-11-09 21:12
谢谢楼上的:)

我已经用customebuttons²实现了这个功能,下面是代码(写在Initialization code里面)

/*====================================================================*/
/* START OF AREA NEEDING EDITING */

  // NAME OF YOUR BUTTON (DO NOT REMOVE QUOTES)
    var name = 'Toggle force new tab';

  // PREFERENCE TO TOGGLE (DO NOT REMOVE QUOTES)
    var preF = 'extensions.tabmix.speLink'; 

  // PLACE VALUES FOR YOUR PREF HERE, (NO QUOTES NECESSARY)
  // BOOLEAN VALUES ARE TRUE/FALSE
  // INTEGER VALUES CAN BE ANY NUMBERS FOR TOGGLING BETWEEN
    var on = 1;
    var off = 2;

    // do NOT edit the next two lines
      this.pref=preF;
      this.setState=function(){
    // end do NOT edit these two lines

  // COMMENT OUT THE KIND OF PREFERENCE THIS IS NOT!
    var state=this.PS.getBoolPref(this.pref); // BOOLEAN
    //var state=this.PS.getIntPref(this.pref); // INTEGER

/* END OF AREA NEEDING EDITING */
/*====================================================================*/


 if (state==off){
  this.checked=false;
 }else{
  this.checked=true;
 }
}

// TOGGLE FUNCTION FOR CHECK/UNCHECK
this.leftclick   = function(evt){
var prefValue = custombuttons.getPrefs(preF);
  if (prefValue == off) { custombuttons.setPrefs(preF,on); this.checked=false; }
  else { custombuttons.setPrefs(preF,off); this.checked=true; }
}

this.setAttribute('onclick', 'gQuot( event, this )'); // Calls the Global MouseClick handler gQuot

// OBSERVES STATE OF PREFERENCE
this.PS=
 Components.classes['@mozilla.org/preferences-service;1']
 .getService(Components.interfaces.nsIPrefBranch);
this.ob={};
this.ob.observe=this.setState.bind(this);
this.PS.addObserver(this.pref,this.ob,false);
this.setState();
this.setAttribute('preference',preF);

// BUTTON ATTRIBUTES
this.setAttribute("author",'nicholas');								// Stores Author.
this.setAttribute("version",'20080306.00');                                                 	// Stores Version.
this.setAttribute("homepage",                                                 			// Stores Homepage.
                  "http://custombuttons2.com/forum/viewtopic.php?f=35&t=" +
                  "517");
this.setAttribute("dependency",'FF 2.0.*,CB 2.0.*');						// Stores Dependency.
this.setAttribute("status",'Complete');								// Stores Devstatus.
this.setAttribute("public",true);								// Stores Public.

// MAKES THIS A CHECKBOX BUTTON

if ((!name) || (!preF)) {
  var err = "You must edit the Checkbox Preference Toggler Button with the correct values before you may use it";
  this.setAttribute("oncommand",
    "alert('" + err + "'); " +
    "this.disabled = true; " +
    "this.style.opacity = '.25';" 
  );
  return;
} else {
this.setAttribute("label",name);
this.setAttribute("class","checkbox-check")
this.setAttribute("btntype", "check");
this.tooltipText = "Toggle " + name;
this.setAttribute("style", "list-style-image: none !important; margin-bottom: 2px; margin-left: 4px; margin-right: 4px; margin-top: 2px; padding-bottom: 1px; padding-left: 4px; padding-right: 2px; padding-top: 1px; -moz-appearance: checkbox-container; -moz-box-align: center; -moz-binding: url(chrome://global/content/bindings/checkbox.xml#checkbox); -moz-box-orient: horizontal;");
}


完整的代码在附件中,只要复制全部然后粘贴到地址栏打开即可提示是否添加按钮。
附件名称/大小 下载次数 最后更新
custom.txt (11KB)  26 2008-11-09 23:32
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
游客

返回顶部