Firefox의 URL 표시줄에서 "탭으로 전환"을 비활성화하려면 어떻게 해야 합니까?

Firefox의 URL 표시줄에서 "탭으로 전환"을 비활성화하려면 어떻게 해야 합니까?

Firefox 4에서는 이제 다른 탭에 이미 열려 있는 URL에 대해 URL 표시줄 자동 완성 팝다운에 "탭으로 전환"이라는 항목이 있습니다.

나는 이것을 원하지 않으며 항상 실수로 부딪히게됩니다. 비활성화하는 방법이 있나요?

FF의 대부분의 새로운 기능에는 해당 기능을 끌 수 있는 스위치가 있는 것 같지만 about:config이에 대한 명확한 내용은 없습니다.

답변1

Firefox Quantum(테스트 버전 68)에서 비활성화하는 방법은 다음과 같습니다.

  1. 햄버거 메뉴
  2. 옵션(Mac/Linux의 기본 설정)( about:preferences)
  3. 개인 정보 보호 및 보안( about:preferences#privacy)
  4. 주소 표시 줄
  5. 선택 취소탭 열기

그게 다야!

답변2

Google에서 빠르게 검색하면 mozillazine.org에 엄청난 양의 불꽃이 쌓여 있는 것으로 나타났습니다. (http://forums.mozillazine.org/viewtopic.php?f=23&t=1977593)

Lithopsian의 코드(원래http://forums.mozillazine.org/viewtopic.php?f=23&t=1977593&start=30)

이는 분명히 기존 확장 프로그램 내에 있지만 원하는 곳에 코드를 배치하세요.

CSS는 다음과 같습니다.

#urlbar
{
    -moz-binding: url("chrome://NoTabs/content/NoTabs.xml#NoTabsUrlbar");
}

.autocomplete-richlistitem
{
    -moz-binding: url("chrome://NoTabs/content/NoTabs.xml#NoTabsRichlistitem");
}

그리고 이와 같은 바인딩은 두 가지 주요 메서드를 대체합니다.

<?xml version="1.0" encoding="UTF-8"?>
<bindings id="NoTabs-urlbarBindings"
      xmlns="http://www.mozilla.org/xbl"
      xmlns:html="http://www.w3.org/1999/xhtml"
      xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
      xmlns:xbl="http://www.mozilla.org/xbl">

  <binding id="NoTabsUrlbar" extends="chrome://browser/content/urlbarBindings.xml#urlbar">
    <implementation implements="nsIObserver, nsIDOMEventListener">

      <!--
        onBeforeValueSet is called by the base-binding's .value setter.
        It should return the value that the setter should use.
      -->
      <method name="onBeforeValueSet">
        <parameter name="aValue"/>
        <body><![CDATA[
          this.removeAttribute("actiontype");
          this._value = aValue;
          var returnValue = aValue;
          var action = this._parseActionUrl(aValue);
          if (action) returnValue = action.param;
          return returnValue;
        ]]></body>
      </method>

    </implementation>
  </binding>

  <binding id="NoTabsRichlistitem" extends="chrome://global/content/bindings/autocomplete.xml#autocomplete-richlistitem">
    <implementation implements="nsIDOMXULSelectControlItemElement">

      <method name="_adjustAcItem">
        <body>
          <![CDATA[
          var url = this.getAttribute("url");
          var title = this.getAttribute("title");
          var type = this.getAttribute("type");

          this.removeAttribute("actiontype");

          var setupUrl = true;

          // If the type includes an action, set up the item appropriately.
          var types = type.split(/\s+/);
          var actionIndex = types.indexOf("action");
          if (actionIndex >= 0) {
            let [,action, param] = url.match(/^moz-action:([^,]+),(.*)$/);
            url = param;

            // Remove the "action" substring so that the correct style, if any,
            // is applied below.
            types.splice(actionIndex, 1);
            type = types.join(" ");
          }

          // If we have a tag match, show the tags and icon
          if (type == "tag") {
            // Configure the extra box for tags display
            this._extraBox.hidden = false;
            this._extraBox.childNodes[0].hidden = false;
            this._extraBox.childNodes[1].hidden = true;
            this._extraBox.pack = "end";
            this._titleBox.flex = 1;

            // The title is separated from the tags by an endash
            let tags;
            [, title, tags] = title.match(/^(.+) \u2013 (.+)$/);

            // Each tag is split by a comma in an undefined order, so sort it
            let sortedTags = tags.split(",").sort().join(", ");

            // Emphasize the matching text in the tags
            this._setUpDescription(this._extra, sortedTags);

            // Treat tagged matches as bookmarks for the star
            type = "bookmark";
          } else if (type == "keyword") {
            // Configure the extra box for keyword display
            this._extraBox.hidden = false;
            this._extraBox.childNodes[0].hidden = true;
            this._extraBox.childNodes[1].hidden = false;
            this._extraBox.pack = "start";
            this._titleBox.flex = 0;

            // Put the parameters next to the title if we have any
            let search = this.getAttribute("text");
            let params = "";
            let paramsIndex = search.indexOf(' ');
            if (paramsIndex != -1)
              params = search.substr(paramsIndex + 1);

            // Emphasize the keyword parameters
            this._setUpDescription(this._extra, params);

            // Don't emphasize keyword searches in the title or url
            this.setAttribute("text", "");
          } else {
            // Hide the title's extra box if we don't need extra stuff
            this._extraBox.hidden = true;
            this._titleBox.flex = 1;
          }

          // Give the image the icon style and a special one for the type
          this._typeImage.className = "ac-type-icon" +
            (type ? " ac-result-type-" + type : "");

          // Show the url as the title if we don't have a title
          if (title == "")
            title = url;

          // Emphasize the matching search terms for the description
          this._setUpDescription(this._title, title);
          if (setupUrl)
            this._setUpDescription(this._url, url);

          // Set up overflow on a timeout because the contents of the box
          // might not have a width yet even though we just changed them
          setTimeout(this._setUpOverflow, 0, this._titleBox, this._titleOverflowEllipsis);
          setTimeout(this._setUpOverflow, 0, this._urlBox, this._urlOverflowEllipsis);
          ]]>
        </body>
      </method>
    </implementation>
  </binding>
</bindings>

관련 정보