| 
			 
					阅读:5791回复:6
				 
				autoproxy在firefox 29.0下面的状态栏显示的问题
					昨天刚升级了firefox到29.0,发现没有了状态栏,于是去下了一个状态栏的add-on,叫做 Status-4-Evar 2014.04.27.21,然后把该拖拽的add-on的图标都放入了状态栏。
 
							autoproxy用的是这个版本Firefox 21-27的 AutoProxy 扩展20131215更新| 气吞寰宇,图标我自己改过了,为了让autoproxy的状态显示出来,首先需要在autoproxy的preference里面,打勾“show in toolbar” (注意,如果打勾show in status bar是没有用的,因为firefox29已经没有状态栏了)。 现在的情况是,autoproxy的图标是能显示在status-4-Evar的状态栏里面了,但是就是其图标是一个凹下去的样子(就是像按钮被按下去了一样),如下图: 大侠帮忙看看有和解决办法,谢谢。  | 
	|
					
						
						最新喜欢:
  | 
	
| 
			 1楼# 
								发布于:2014-05-01 13:29				
			
					看了一下,在 Firefox 21-27的AutoProxy扩展20131215更新 | 气吞寰宇 的第三页里面有一个comment是这么写的。
 
							20131205版在火狐26下会导致工具栏的福字图标不弹起,用右键点一下福字图标,在用左键点击(点击图标时 ==> 快捷菜单),图标就陷下去了。实际上是和我的问题一样的,不知道有没有啥解法?谢谢。  | 
	|
					
						
  | 
	
| 
			 2楼# 
								发布于:2014-05-01 15:35				
			
					我对firefox的addon开发一点概念没有,我感觉应该是里面的哪个代码出现问题了,于是从 https://github.com/agunchan/autoproxy 里面下了源代码,胡乱搜索了一番。搜索关键字是 toolbar,我大概看到有这么一个代码:D:\autoproxy-master\autoproxy-master\chrome\content\ui\browserWindow.js  里面有这么一个代码
 
							// Handle clicks on statusbar/toolbar panel
function aupClickHandler(e)
{
  if (e.button == 1) cycleProxyMode();
   
  // e.button is undefined when left click on tool bar icon
  else if (e.button != 2 && e.target.tagName != 'menuitem')
    aupExecuteAction(e.target.tagName == 'image' ? prefs.defaultstatusbaraction : prefs.defaulttoolbaraction, e);
}
   
// Executes default action for statusbar/toolbar by its number
function aupExecuteAction(action, e)
{
  switch (action) {
    case 0:
      e.target.open = true;
      break;
    case 1:
      toggleSidebar();
      break;
    case 2:
      aup.openSettingsDialog();
      break;
    case 3:
      cycleProxyMode();
      break;
    case 4: // cycle default proxy
      if (aup.proxyTipTimer) aup.proxyTipTimer.cancel();
      prefs.defaultProxy = ++prefs.defaultProxy % proxy.server.length;
      prefs.save();
      // show tooltip
      let tooltip = E("cycleDefaultProxy");
      tooltip.label = aup.getString('default_proxy') + ": " + proxy.nameOfDefaultProxy;
      if (e.screenX && e.screenY)
        tooltip.openPopupAtScreen(e.screenX, e.screenY, false);
      else
        tooltip.openPopupAtScreen(e.target.boxObject.screenX, e.target.boxObject.screenY, false);
      aup.proxyTipTimer = Components.classes["@mozilla.org/timer;1"].createInstance(Components.interfaces.nsITimer);
      aup.proxyTipTimer.initWithCallback(
        {notify: function(){tooltip.hidePopup()}}, 2000, Components.interfaces.nsITimer.TYPE_ONE_SHOT);
      break;
    case 5: // default proxy menu
      let popup = E("aup-popup-defaultProxyList");
      makeProxyItems(popup);
      if (e.screenX && e.screenY) popup.openPopupAtScreen(e.screenX, e.screenY, false);
      else popup.openPopupAtScreen(e.target.boxObject.screenX, e.target.boxObject.screenY, false);
      break;
    default:
      break;
  }
}是不是这个地方有一个注释: // e.button is undefined when left click on tool bar icon
意味着某个操作有点问题?按照我目前的情况,实际上是autoproxy在toolbar的图标,我把它拖拽到了状态栏插件status-4-Evar里面,所以这种情况下,不知道是啥个函数响应方式?? 本文不懂javascript,从未接触过firefox的addon相关设计,但是有C和C++的基础,希望大侠指点迷津,谢谢。  | 
	|
					
						
  | 
	
| 
			 3楼# 
								发布于:2014-05-01 16:16				
			
					我用moveButton那个uc脚本到处移				 
							 | 
	|
					
						
  | 
	
| 
			 4楼# 
								发布于:2014-05-01 17:06				
			pcxfirefox:我用moveButton那个uc脚本到处移回到原帖你能不能告诉我你这个脚本的具体地址?我搜索找不到。  | 
	|
					
						
  | 
	
| 
			 5楼# 
								发布于:2014-05-01 18:55				
			ollydbg23:你能不能告诉我你这个脚本的具体地址?我搜索找不到。回到原帖https://github.com/ywzhaiqi/userChromeJS/tree/master/moveButton  | 
	|
					
						
  | 
	
| 
			 6楼# 
								发布于:2014-05-01 20:17				
			pcxfirefox:https://github.com/ywzhaiqi/userChromeJS/tree/master/moveButton回到原帖谢谢,但是我看了一下,貌似不知道怎么弄这个东西,现在我还是期待直接由什么方法能直接修改autoproxy的源代码脚本,我感觉应该不是很复杂,就是需要牛人点拨一下。  | 
	|
					
						
  | 
	
							
				