pengjjtt
小狐狸
小狐狸
  • UID27626
  • 注册日期2008-12-30
  • 最后登录2009-01-01
  • 发帖数3
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:3349回复:6

怎样把FF3的书签模式改成maxthon的显示模式啊?

楼主#
更多 发布于:2008-12-30 20:28
按照论坛以前的XD提供的方法都不行啊,
添加:
#bookmarks-ptf {display:block}
#bookmarks-ptf toolbarseparator {display:inline}

还有什么方法么?
Mcake
小狐狸
小狐狸
  • UID37052
  • 注册日期2011-08-23
  • 最后登录2014-02-21
  • 发帖数4
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2008-12-30 20:28
pengjjtt
小狐狸
小狐狸
  • UID27626
  • 注册日期2008-12-30
  • 最后登录2009-01-01
  • 发帖数3
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2008-12-30 20:28
怎么代码里面还有乱码啊?
saga2008
非常火狐
非常火狐
  • UID25840
  • 注册日期2008-08-15
  • 最后登录2025-01-31
  • 发帖数694
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
  • 社区居民
3楼#
发布于:2008-12-30 20:28
(function(){
  if('TM_init' in window) return;
  if('TreeStyleTabService' in window) return;

  if (!gPrefService)
    gPrefService = Components.classes["@mozilla.org/preferences-service;1"]
                                 .getService(Components.interfaces.nsIPrefBranch);
  // -- config --
  gPrefService.setIntPref("browser.tabs.closeButtons", 0);
  gPrefService.setBoolPref("browser.tabs.autoHide", false);
  function multirowtabH(){
    var H, aNode;
    if (getVer()<3){
      H = 22; //Fx2
    } else {
      H = 23; //Fx3銇с伅銈裤儢銇枃瀛椼伄澶с亶銇曘伀蹇溿仒銇﹁鏁村繀瑕併亱銈?1锝?3px:22, 14px:23
    }
    return H;
  }
  var SCROLLBARWIDTH = 25;
  var TABBROWSERTABS_MARGIN = 3; //瑾挎暣蹇呰 (銉炪兗銈搞兂銈勩儨銉笺儉銉笺伄鍒?
  var ARROWSCROLLBOX_MARGIN = 1; //瑾挎暣蹇呰 (銉炪兗銈搞兂銈勩儨銉笺儉銉笺伄鍒?
  // -- config --
  //銉夈儹銉冦儣銈ゃ兂銉囥偅銈便兗銈裤伄浣嶇疆銈广偙銉笺儷
  gBrowser.scale = 2.0;

  /*銈裤儢銇屽銇勬檪銇娈点仹琛ㄧず銇欍倠CSS閬╃敤 銈ゃ兂銉┿偆銉炽倰浣跨敤銇椼仾銇勩儛銉笺偢銉с兂*/
  if(getVer()<3){ //Fx2
    var style = <![CDATA[
      @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
      /* Tab Browser, replaces the horizontal arrowscrollbox
       * with an overflow scroll panel
       */
      .tabbrowser-tabs
      {
        height: 0px;
        max-height: 113px;  /* 3+22*5娈点伄鍫村悎*/
        min-height: 0px;
      }
      .tabbrowser-tabs .tabbrowser-arrowscrollbox,
      .tabbrowser-tabs .tabbrowser-arrowscrollbox > scrollbox,
      .tabbrowser-tabs .tabbrowser-arrowscrollbox > scrollbox > box
      {
        height: 0px;
        max-height: 110px;  /* 22*5娈点伄鍫村悎*/
        min-height: 0px;
      }

      /* hide the scroll arrows and alltabs button */
      .tabbrowser-tabs .scrollbutton-up,
      .tabbrowser-tabs .scrollbutton-down-stack
      {
        display: none ;
      }
      .tabs-alltabs-stack{
        height: 22px ;
      }
      /* box */
      .tabbrowser-tabs .tabbrowser-arrowscrollbox > scrollbox > box
      {
        display: block ;
        min-width: 0 ;
        margin: 0 ;
        overflow-y: auto ;
        padding: 0 0 0 1px ;
      }

    ]]>.toString().replace(/\s+/g, " ");
  }else{  // Gecko/2008032103 Minefield/3.0b5pre
    var style = <![CDATA[
      @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
      /* Tab Browser, replaces the horizontal arrowscrollbox
       * with an overflow scroll panel
       */

      .tabbrowser-tabs
      {
        height: 0px;
        max-height: 110px;    /* (22锝?*5娈点伄鍫村悎*/
        min-height: 0px;
      }

      .tabbrowser-tabs .tabbrowser-arrowscrollbox,
      .tabbrowser-tabs .tabbrowser-arrowscrollbox > scrollbox,
      .tabbrowser-tabs .tabbrowser-arrowscrollbox > scrollbox > box
      {
        height: 0px;
        min-height: 0px;
        margin-bottom:1px;
      }

      /* hide the scroll arrows and alltabs button */
      .tabbrowser-tabs .scrollbutton-up,
      .tabbrowser-tabs .scrollbutton-down
      {
        display: none ;
      }

      /* box default */
      .tabbrowser-tabs .tabbrowser-arrowscrollbox > scrollbox > box
      {
        display: block ;
        overflow-y: auto ;
      }

     .tabs-container > .tabs-closebutton{
        padding-top:2px;
        padding-bottom:0px;
      }

      /* Tabs */
      tab .tab-text {
        margin-top:2px;
      }

      .tabbrowser-tab {
        margin: 0px 0px 2px ;
        padding: 0px 1px 1px 0px ;
        border: 2px solid ;
        border-right-width: 1px ;
        border-bottom: none ;
      }

      .tabbrowser-tab:hover{
        margin: 0px 0px 2px ;
        padding: 0px 1px 1px 0px ;
        border: 2px solid ;
        border-right-width: 1px ;
        border-bottom: none ;
      }

      .tabbrowser-tab:not([selected="true"]):hover {
        margin: 0px 0px 2px ;
        padding: 0px 1px 1px 0px ;
        border: 2px solid ;
        border-right-width: 1px ;
        border-bottom: none ;
      }

      .tabbrowser-tab[selected="true"] {
        margin: 0px 0px 0px ;
        padding: 0px 1px 3px 0px ;
        border: 2px solid ;
        border-right-width: 1px ;
        border-bottom: none ;
      }
    ]]>.toString().replace(/\s+/g, " ");
  }
  var sspi = document.createProcessingInstruction(
    'xml-stylesheet',
    'type="text/css" href="data:text/css,' + encodeURI(style) + '"'
  );
  setTimeout(function(){
    document.insertBefore(sspi, document.documentElement);
    sspi.getAttribute = function(name) {
      return document.documentElement.getAttribute(name);
    };
  },300);

  //璧峰嫊鏅傘伀銈裤儢銇屽銇勩仺銇? 銈裤儢銇屻偣銈儹銉笺儷銇椼仸銇勩倠鍫村悎銇屻亗銈嬨伄銇?
  setTimeout(function(){gBrowser.mTabContainer.mTabstrip.scrollBoxObject
          .ensureElementIsVisible(gBrowser.mTabContainer.childNodes[0]);
  },500);

  //D&D銇鏁?
  if (getVer()<3.0){//2.0
    gBrowser.canDrop_old = gBrowser.canDrop;
    gBrowser.canDrop = function(aEvent, aDragSession){
      if (aDragSession.sourceNode)
        var box = aDragSession.sourceNode.boxObject;
      if (aDragSession.sourceNode &&
          aDragSession.sourceNode.parentNode == this.mTabContainer &&
          (aEvent.screenX >= box.screenX &&
           aEvent.screenX <= (box.screenX + box.width)) &&
          (aEvent.screenY >= box.screenY &&
           aEvent.screenY <= (box.screenY + box.height))
         )
          return false;
      if (aEvent.target.localName == 'tab') return true;
      var aNode = aEvent.originalTarget;
      if (aNode.localName == 'toolbatbutton') return true;
      if (aDragSession.sourceNode && aDragSession.sourceNode.parentNode == this.mTabContainer &&
          aNode.localName == 'box') return false;
      return true;
    }
    var func = gBrowser.onDragOver.toString();
    func = func.replace(
      'ind.style.marginLeft = newMarginLeft + "px";',
      <><![CDATA[
      $&
      if(newIndex == this.mTabs.length)
        ind.style.marginBottom = -(5+(this.mTabs[newIndex-1].boxObject.screenY - this.boxObject.screenY) * gBrowser.scale) + 'px';
      else
        ind.style.marginBottom = -(5+(this.mTabs[newIndex].boxObject.screenY - this.boxObject.screenY) * gBrowser.scale) + 'px';
      ]]></>
    );
    func = func.replace(
      'ind.style.marginRight = newMarginRight + "px";',
      <><![CDATA[
      $&
      if(newIndex == this.mTabs.length)
        ind.style.marginBottom = -(5+(this.mTabs[newIndex-1].boxObject.screenY - this.boxObject.screenY) * gBrowser.scale) + 'px';
      else
        ind.style.marginBottom = -(5+(this.mTabs[newIndex].boxObject.screenY - this.boxObject.screenY) * gBrowser.scale) + 'px';
      ]]></>
    );
    eval("gBrowser.onDragOver = " + func);
  } else if (getVer()<3.1){//3.0
    gBrowser.canDrop_old = gBrowser.canDrop;
    gBrowser.canDrop = function(aEvent, aDragSession){
      if (aDragSession.sourceNode)
        var box = aDragSession.sourceNode.boxObject;
      if (aDragSession.sourceNode &&
          aDragSession.sourceNode.parentNode == this.mTabContainer &&
          (aEvent.screenX >= box.screenX &&
           aEvent.screenX <= (box.screenX + box.width)) &&
          (aEvent.screenY >= box.screenY &&
           aEvent.screenY <= (box.screenY + box.height))
         )
          return false;
      if (aEvent.target.localName == 'tab') return true;
      var aNode = aEvent.originalTarget;
      if (aNode.localName == 'toolbatbutton') return true;
      if (aDragSession.sourceNode && aDragSession.sourceNode.parentNode == this.mTabContainer &&
          aNode.localName == 'box') return false;
      return true;
    }

    gBrowser.getNewIndex = function(aEvent){
            var i;
            if (window.getComputedStyle(this.parentNode, null).direction == "ltr") {
              for (i = aEvent.target.localName == "tab" ? aEvent.target._tPos : 0; i < this.mTabs.length; i++)
                if (aEvent.screenX < this.mTabs[i].boxObject.screenX + this.mTabs[i].boxObject.width / 2 &&
                    aEvent.screenY > this.mTabs[i].boxObject.screenY &&
                    aEvent.screenY < this.mTabs[i].boxObject.screenY + this.mTabs[i].boxObject.height)
                  return i;
                if (i + 1 < this.mTabs.length &&
                    aEvent.screenX < this.mTabs[i].boxObject.screenX + this.mTabs[i].boxObject.width &&
                    aEvent.screenY > this.mTabs[i].boxObject.screenY &&
                    aEvent.screenY < this.mTabs[i].boxObject.screenY + this.mTabs[i].boxObject.height)
                  return i + 1;

            } else {
              for (i = aEvent.target.localName == "tab" ? aEvent.target._tPos : 0; i < this.mTabs.length; i++)
                if (aEvent.screenX > this.mTabs[i].boxObject.screenX + this.mTabs[i].boxObject.width / 2 &&
                    aEvent.screenY > this.mTabs[i].boxObject.screenY &&
                    aEvent.screenY < this.mTabs[i].boxObject.screenY + this.mTabs[i].boxObject.height)
                  return i;
                if (i + 1 < this.mTabs.length &&
                    aEvent.screenX > this.mTabs[i].boxObject.screenX &&
                    aEvent.screenY > this.mTabs[i].boxObject.screenY &&
                    aEvent.screenY < this.mTabs[i].boxObject.screenY + this.mTabs[i].boxObject.height)
                  return i + 1;
            }
            return this.mTabs.length;
    }
    var func = gBrowser.onDragOver.toString();
    func = func.replace(
      'this.mTabContainer.selectedItem = aEvent.target;',
      <><![CDATA[
      $&
      this.mTabDropIndicatorBar.collapsed = true;
      ]]></>
    );
    func = func.replace(
      'ind.style.MozMarginStart = newMargin + "px";',
      <><![CDATA[
      $&
      ind.style.marginBottom = -(5+(tabBoxObject.screenY - this.boxObject.screenY) * gBrowser.scale) + 'px';
      ]]></>
    );
    eval("gBrowser.onDragOver = " + func);

  } else { //3.1

    var func = gBrowser._onDragOver.toString();
    func = func.replace(
      'this.mTabContainer.selectedItem = aEvent.target;',
      <><![CDATA[
      this.mTabContainer.selectedItem = aEvent.target;
      this.mTabDropIndicatorBar.collapsed = true;
      ]]></>
    );
    func = func.replace(
      'ind.style.MozMarginStart = newMargin + "px";',
      <><![CDATA[
      $&
      ind.style.marginBottom = -(5+(tabBoxObject.screenY - this.boxObject.screenY) * gBrowser.scale) + 'px';
      ]]></>
    );
    eval("gBrowser._onDragOver = " + func);

    //Bug 465184 -  Dropping a tab on itself shouldn't detach it
    func = gBrowser._onDragLeave.toString();
    func = func.replace(
      'this._draggingOnItself = false;',
      <><![CDATA[
      if (aEvent.target.localName != "tab"){
        $&
      }
      ]]></>
    );
    eval("gBrowser._onDragLeave = " + func);

    gBrowser.getNewIndex = function(aEvent){
            var i;
            if (window.getComputedStyle(this.parentNode, null).direction == "ltr") {
              for (i = aEvent.target.localName == "tab" ? aEvent.target._tPos : 0; i < this.mTabs.length; i++)
                if (aEvent.screenX < this.mTabs[i].boxObject.screenX + this.mTabs[i].boxObject.width / 2 &&
                    aEvent.screenY > this.mTabs[i].boxObject.screenY &&
                    aEvent.screenY < this.mTabs[i].boxObject.screenY + this.mTabs[i].boxObject.height)
                  return i;
                if (i + 1 < this.mTabs.length &&
                    aEvent.screenX < this.mTabs[i].boxObject.screenX + this.mTabs[i].boxObject.width &&
                    aEvent.screenY > this.mTabs[i].boxObject.screenY &&
                    aEvent.screenY < this.mTabs[i].boxObject.screenY + this.mTabs[i].boxObject.height)
                  return i + 1;

            } else {
              for (i = aEvent.target.localName == "tab" ? aEvent.target._tPos : 0; i < this.mTabs.length; i++)
                if (aEvent.screenX > this.mTabs[i].boxObject.screenX + this.mTabs[i].boxObject.width / 2 &&
                    aEvent.screenY > this.mTabs[i].boxObject.screenY &&
                    aEvent.screenY < this.mTabs[i].boxObject.screenY + this.mTabs[i].boxObject.height)
                  return i;
                if (i + 1 < this.mTabs.length &&
                    aEvent.screenX > this.mTabs[i].boxObject.screenX &&
                    aEvent.screenY > this.mTabs[i].boxObject.screenY &&
                    aEvent.screenY < this.mTabs[i].boxObject.screenY + this.mTabs[i].boxObject.height)
                  return i + 1;
            }
            return this.mTabs.length;
    }
  }

  //銉囥儛銉冦偘鐢?
  function debug(aMsg){
        Cc["@mozilla.org/consoleservice;1"]
          .getService(Ci.nsIConsoleService)
          .logStringMessage(aMsg);
  }

//銇撱亾銇嬨倝銇偪銉栧箙鑷嫊瑾挎暣
  //銈裤儢杩藉姞鏅傘伀, 銈炽兂銉嗐兂銉勩偍銉偄銇屻伌銇忋伌銇忋仚銈嬨伄銈掗槻姝?
  eval('gBrowser.addTab = ' + gBrowser.addTab.toString().replace(
  '{',
  '{\
   setTabWidthAutomatically(null,true);'
  ));
  //銈裤儢骞呰嚜鍕曡鏁?
  var xcontent = document.getElementById("content");
  var tabbrowsertabs = document.getAnonymousElementByAttribute(xcontent, "anonid", "tabcontainer");
  if (getVer() > 3 && !tabbrowsertabs){ //dao's build
    tabbrowsertabs = document.getElementsByClassName("tabbrowser-tabs")[0];
  }
  var tabsclosebutton, newtabbutton, allTabsWidth;

  if(getVer()<3){
    tabsclosebutton = document.getAnonymousElementByAttribute(tabbrowsertabs, "anonid", "tabstrip-closebutton").boxObject.width;
    allTabsWidth = document.getAnonymousElementByAttribute(tabbrowsertabs, "anonid", "alltabs-button").boxObject.width;
    newtabbutton =0;
  }else{
    try {
      tabsclosebutton = document.getAnonymousElementByAttribute(tabbrowsertabs, "anonid", "tabs-closebutton").boxObject.width;
    } catch(e){ //dao's build
      tabsclosebutton =0;
    }
    try {
      allTabsWidth = document.getAnonymousElementByAttribute(tabbrowsertabs, "anonid", "alltabs-box").boxObject.width;
    } catch(e){ //dao's build
      allTabsWidth =0;
    }
    try {
      newtabbutton = document.getAnonymousElementByAttribute(tabbrowsertabs, "anonid", "newtab-button").boxObject.width;
    } catch(e){
      newtabbutton =0;
    }
  }
  var arrowscrollbox = document.getAnonymousElementByAttribute(tabbrowsertabs, "anonid", "arrowscrollbox");
  if (getVer() > 3 && !arrowscrollbox){ //dao's build
    arrowscrollbox = document.getAnonymousElementByAttribute(tabbrowsertabs, "class", "tabbrowser-arrowscrollbox");
  }

  window.setTabWidthAutomatically =function(event,addTab,w){
    var atab;
    var max_width  = getPref("userCrome.setTabWidthAutomatically.maxWidth", "int",250);
    var min_width  = getPref("browser.tabs.tabMinWidth", "int",100);
    if (getVer()<3){
      //for Fx2, 銈裤儢銇儔銉┿儍銈颁腑box骞呫亴澶с亶銇忋仾銈嬨伄銈掗樆姝?
      var www=document.getElementById("main-window").boxObject.width;
      document.getElementById("navigator-toolbox").maxWidth=www;
    }
    var boxwidth = gBrowser.mTabContainer.boxObject.width - newtabbutton - allTabsWidth - tabsclosebutton;
    if(w) boxwidth = boxwidth - w;
    var allTabs = gBrowser.mTabContainer.childNodes;
    if(event && event.type=='TabClose')
      var nTabs = allTabs.length - 1;
    else
      var nTabs = allTabs.length;

    if(addTab) nTabs++;
    var tabw = (boxwidth -SCROLLBARWIDTH) / nTabs;
    if(tabw > max_width)
      tabw = max_width;
    else if(tabw <  min_width){
      var nn = Math.floor(boxwidth / min_width);
      if(nn<1) nn = 1 ;
      tabw = (boxwidth - SCROLLBARWIDTH) /nn;
    }
    //tab-strip楂樸仌
    tabw = Math.floor(tabw);
    var h = Math.floor((tabw*nTabs)/(boxwidth -SCROLLBARWIDTH)+0.99)*multirowtabH();
    tabbrowsertabs.height = (h + TABBROWSERTABS_MARGIN);
    arrowscrollbox.height = (h + ARROWSCROLLBOX_MARGIN);

    //銇撱伄if銉栥儹銉冦偗銇? 鐝惧湪銇偪銉栥亴銇勩仱銈傝銇堛倠銈堛亞銇偣銈儹銉笺儷銇曘仜銈?
    if(event && event.type=='TabOpen'){
      aTab = event.target;
      ensureVisibleElement(aTab);
    }else{
      setTimeout(function(){
        aTab = gBrowser.mCurrentTab;
        ensureVisibleElement(aTab);
      },100);
    }

    //鐒¢銇儷銉笺儣銈掋偑銉熴儍銉?
    if(event && event.type=='resize' && allTabs[0].minWidth == tabw) return;
    if(event && event.target.localName=='tab' && allTabs[0].minWidth == tabw){
      aTab = event.target;
      aTab.maxWidth = tabw;
      aTab.minWidth = tabw;
      return;
    }
    for (var i=0, len=allTabs.length; i<len; i++) {
      aTab = allTabs[i];
      aTab.maxWidth = tabw;
      aTab.minWidth = tabw;
    }
  }
  window.setTabWidthAutomatically2 =function(event){
    var max_width  = getPref("userCrome.setTabWidthAutomatically.maxWidth", "int",250);
    var min_width  = getPref("browser.tabs.tabMinWidth", "int",100);
    var boxwidth = gBrowser.mTabContainer.boxObject.width - newtabbutton - allTabsWidth - tabsclosebutton;

    var allTabs = gBrowser.mTabContainer.childNodes;
    var nTabs = allTabs.length - 1;

    setTimeout(function(allTabs,nTabs){
      var tabw = (boxwidth -SCROLLBARWIDTH) / nTabs;
      if(tabw > max_width)
        tabw = max_width;
      else if(tabw <  min_width){
        var nn = Math.floor(boxwidth / min_width);
        if(nn<1) nn = 1 ;
        tabw = (boxwidth - SCROLLBARWIDTH) /nn;
      }

      //tab-strip楂樸仌
      tabw = Math.floor(tabw);
      var h = Math.floor((tabw*nTabs)/(boxwidth -SCROLLBARWIDTH)+0.99)*multirowtabH();
      tabbrowsertabs.height = (h + TABBROWSERTABS_MARGIN);

      for (var i=0, len=allTabs.length; i<len; i++) {
        var aTab = allTabs[i];
        aTab.maxWidth = tabw;
        aTab.minWidth = tabw;
      }
    },250,allTabs,nTabs);
  }



  //pref瑾伩杈笺伩
  function getPref(aPrefString, aPrefType, aDefault){
    var xpPref = Components.classes["@mozilla.org/preferences-service;1"]
                  .getService(Components.interfaces.nsIPrefService);
    try{
      switch (aPrefType){
        case "str":
          return xpPref.getCharPref(aPrefString).toString(); break;
        case "int":
          return xpPref.getIntPref(aPrefString); break;
        case "bool":
        default:
          return xpPref.getBoolPref(aPrefString); break;
      }
    }catch(e){
    }
    return aDefault;
  }

  //浠ヤ笅銇偪銉栧箙鑷嫊瑾挎暣銇仧銈併伄銈ゃ儥銉炽儓鐧婚尣
  setTimeout(function(){setTabWidthAutomatically();}, 10);

  window.addEventListener("resize", function(event){
      setTabWidthAutomatically(event);
  }, false);

  //鍒濆洖璧峰嫊鏅傘儉銉熴兗銈ゃ儥銉炽儓
  setTimeout(function(){
      var event = document.createEvent("Events");
      event.initEvent("resize", true, false);
      window.dispatchEvent(event);
  }, gBrowser.mTabContainer.childNodes.length * 200 + 1000);
  setTimeout(function(){
      var event = document.createEvent("Events");
      event.initEvent("resize", true, false);
      window.dispatchEvent(event);
  }, gBrowser.mTabContainer.childNodes.length * 1000 + 1000);

  if(getVer()<3)
    gBrowser.tabContainer.addEventListener('TabClose', setTabWidthAutomatically,false);
  else{
    gBrowser.tabContainer.addEventListener('TabClose', setTabWidthAutomatically2,false);
    gBrowser.tabContainer.addEventListener('SSTabRestored', ensureVisible, false);
  }
  gBrowser.tabContainer.addEventListener('TabOpen',setTabWidthAutomatically,false);

//銇撱亾銇嬨倝銇? 鐝惧湪銇偪銉栥亴銇勩仱銈傝銇堛倠銈堛亞銇偣銈儹銉笺儷銇曘仜銈?
  gBrowser.tabContainer.addEventListener('TabSelect', ensureVisible, false);
  function ensureVisible(event){
    var aTab = gBrowser.selectedTab; //event.target;
    ensureVisibleElement(aTab);
  }
  function ensureVisibleElement(aTab){
    try{
      mShell = Components.classes["@mozilla.org/inspector/flasher;1"]
               .createInstance(Components.interfaces.inIFlasher);
      mShell.scrollElementIntoView(aTab);
    }catch(e){}
  }

  function getVer(){
    const Cc = Components.classes;
    const Ci = Components.interfaces;
    var info = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULAppInfo);
    var ver = parseInt(info.version.substr(0,3) * 10,10) / 10;
    return ver;
  }
})();


以上保存到userchrome.js中即可。[/code]
pengjjtt
小狐狸
小狐狸
  • UID27626
  • 注册日期2008-12-30
  • 最后登录2009-01-01
  • 发帖数3
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2008-12-30 20:28
谢谢,column bookmarks可以,不过对FF3支持不太好啊,还有其他的扩展么
ferret
千年狐狸
千年狐狸
  • UID21816
  • 注册日期2007-11-11
  • 最后登录2013-03-22
  • 发帖数1114
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2008-12-30 20:28
多列显示吧. 有个扩展好像可以做到. column bookmarks
Cye3s
千年狐狸
千年狐狸
  • UID155
  • 注册日期2004-11-25
  • 最后登录2025-07-29
  • 发帖数1325
  • 经验98枚
  • 威望0点
  • 贡献值34点
  • 好评度15点
  • 社区居民
  • 忠实会员
6楼#
发布于:2008-12-30 20:28
啥样子?上个图
我很懒...
游客

返回顶部