Firefox 4에서 URL 표시 줄 자동 완성 팝업에는 다른 탭에서 이미 열려있는 URL에 대해 "탭으로 전환"이라는 항목이 있습니다.
나는 이것을 원하지 않으며 항상 실수로 부딪칩니다. 비활성화하는 방법이 있습니까?
FF의 대부분의 새로운 기능은 스위치 about:config
를 끄는 것처럼 보이지만 이에 대한 명확한 내용은 보지 못했습니다.
Firefox 4에서 URL 표시 줄 자동 완성 팝업에는 다른 탭에서 이미 열려있는 URL에 대해 "탭으로 전환"이라는 항목이 있습니다.
나는 이것을 원하지 않으며 항상 실수로 부딪칩니다. 비활성화하는 방법이 있습니까?
FF의 대부분의 새로운 기능은 스위치 about:config
를 끄는 것처럼 보이지만 이에 대한 명확한 내용은 보지 못했습니다.
답변:
구글의 빠른 검색은 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>
이렇게하면 해당 특수 기능이 완전히 비활성화됩니다.
https://addons.mozilla.org/en-us/firefox/addon/switch-to-tab-no-more/?src=ss
탭으로 전환 블랙리스트를 사용하면 "탭으로 전환"기능을 원하지 않는 웹 사이트를 지정할 수 있습니다. 가장 좋은 점은 정규 표현식을 사용하므로 블랙리스트를 변경하면 [".*"]
모든 웹 사이트의 기능 이 비활성화됩니다.
불행히도 아직 GUI가 없지만 추가 기능 페이지에 지침이 있습니다.
다른 답변에는 연결이 끊어지고 현재 파이어 폭스 릴리스에 대해 오래 되었기 때문에 다시 대답하십시오. Firefox Quantum (테스트 버전 68)에 대해 비활성화하는 방법은 다음과 같습니다.
hamburger menu -> options (preferences on mac/linux) -> Privacy & Security -> Address bar -> Uncheck 'Open Tabs'
그게 다야!