>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Очистка адресной строки http://forum.mozilla-russia.org/viewtopic.php?id=55541 |
Пандёнок > 06-07-2012 20:27:26 |
Я использую Bookmarks Tab со своими изменениями. У меня получилось сделать его совместимым с 12 - 16, но с небольшой проблемой: в новой вкладке адресная строка заполнена значением browser.newtab.url: chrome://bookmarks/content/bookmarks.html |
bunda1 > 06-07-2012 23:59:31 |
Может в Bookmarks Tab в tabloader.js положить этот код: Выделить код Код:var enabled = [ "chrome://bookmarks/content/bookmarks.html", ]; gBrowser.tabContainer.addEventListener("TabSelect", function(event) { if (content.location.href.indexOf(enabled) != -1){ gURLBar.value = ""; gURLBar.focus(); } }, false); gBrowser.addEventListener("pageshow", function(event){ //стоп, если открыть другие владки if (event.target.location.href !== getBrowser().currentURI.spec) return; if (content.location.href.indexOf(enabled) != -1){ gURLBar.value = ""; gURLBar.focus(); } }, false); |
Пандёнок > 07-07-2012 00:43:42 |
bunda1 |
Пандёнок > 07-07-2012 01:31:02 |
bunda1 |
bunda1 > 07-07-2012 02:33:07 |
Пандёнок Выделить код Код:gBrowser.addEventListener("pageshow", function(event){ //стоп, если открыть другие владки if (event.target.location.href !== getBrowser().currentURI.spec) return; if (content.location.href.indexOf("chrome://bookmarks/content/bookmarks.html") != -1){ gURLBar.value = ""; gURLBar.focus(); } }, false); |
Пандёнок > 07-07-2012 03:06:05 |
bunda1 |
bunda1 > 07-07-2012 03:33:21 |
Пандёнок |
init > 07-07-2012 11:41:45 |
Пандёнок |
bunda1 > 07-07-2012 20:29:53 |
Пандёнок пишет
Ну тогда удали из Bookmarks Tab > chrome > content > tabloader.js мои коды. положи этот код: Выделить код Код:window.addEventListener("command", function(event){ if ( event.target.getAttribute("oncommand") == 'BrowserOpenTab();') { BtTabLoader.clearUrlBar(); } }, true); У меня на FF16 этот код отлично работает. |
Пандёнок > 07-07-2012 23:11:04 |
Разобрался. Выделить код Код:var BtTabLoader = { TIMEOUT: 100, isNewTab: false, start: function() { gBrowser.addEventListener("pageshow", function(event){ //стоп, если открыть другие вкладки if (event.target.location.href !== getBrowser().currentURI.spec) return; if (content.location.href.indexOf("chrome://bookmarks/content/bookmarks.html") != -1){ gURLBar.value = ""; gURLBar.focus(); } }, false); addEventListener("load", function() { ... |
bunda1 > 07-07-2012 23:39:12 |
Пандёнок |
Пандёнок > 08-07-2012 22:55:35 |
bunda1 пишет
Или я опять чего-то не понял, или не срабатывает. |
bunda1 > 08-07-2012 23:07:39 |
Пандёнок пишет
Ты что то сделал не правильно, вот какой должен быть tabloader.js скрытый текст Выделить код Код:var BtTabLoader = { TIMEOUT: 100, isNewTab: false, start: function() { addEventListener("load", function() { BtTabLoader.loadInExistingTabs(); gBrowser.addEventListener("load", BtTabLoader.onPageLoad, true); gBrowser.addEventListener("NewTab", BtTabLoader.onNewTab, false); window.addEventListener("command", function(event){ if ( event.target.getAttribute("oncommand") == 'BrowserOpenTab();') { BtTabLoader.clearUrlBar(); } }, true); var tabMenu = document.getAnonymousElementByAttribute(gBrowser, "anonid", "tabContextMenu"); var newTabContextItem = tabMenu.firstChild; newTabContextItem.addEventListener("command", BtTabLoader.onNewTab, false); var newTabCommand = $("cmd_newNavigatorTab"); newTabCommand.addEventListener("command", BtTabLoader.onNewTab, false); }, false); }, isBlank: function(doc) { return doc && doc.location == "about:blank"; }, getURL: function() { return BtPrefs.getString("startPage"); }, loadIn: function(doc) { var url = BtTabLoader.getURL(); if (url && url != "about:blank") { doc.location = url; BtTabLoader.clearUrlBar(); } }, loadInExistingTabs: function() { var tabs = gBrowser.tabContainer.childNodes; for(var i = 0; i < tabs.length; i++) { var tab = tabs[i]; if (!tab.hasAttribute("busy")) { var doc = tab.linkedBrowser.contentDocument; if (BtTabLoader.isBlank(doc)) BtTabLoader.loadIn(doc); } } }, onNewTab: function() { BtTabLoader.isNewTab = true; }, onPageLoad: function(e) { var doc = e.originalTarget; if (doc.location == BtTabLoader.getURL()) { BtTabLoader.addToHistory(doc.location, doc.title); } var singleTab = gBrowser.tabContainer.childNodes.length == 1; if ((BtTabLoader.isNewTab || singleTab) && BtTabLoader.isBlank(doc)) { BtTabLoader.isNewTab = false; BtTabLoader.loadIn(doc); } }, addToHistory: function(url, title) { var entry = Components.classes["@mozilla.org/browser/session-history-entry;1"] .createInstance(Components.interfaces.nsISHEntry); entry.setURI(BtURL.getNsiURL(url)); entry.setTitle(title); var sessionHistory = gBrowser.sessionHistory; if (sessionHistory) { sessionHistory.QueryInterface(Components.interfaces.nsISHistoryInternal); if (!sessionHistory.count) { sessionHistory.addEntry(entry, true); } } }, clearUrlBar: function() { var urlbar = $("urlbar"); var input = document.getAnonymousElementByAttribute(urlbar, "anonid", "input"); input.style.visibility = "hidden"; setTimeout(function() { $("urlbar").value = ""; input.style.visibility = "visible"; $("urlbar").select(); }, BtTabLoader.TIMEOUT); } } |
Пандёнок > 09-07-2012 18:37:50 |
bunda1 |
bunda1 > 09-07-2012 21:53:25 |
Я проверял на Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/16.0 Firefox/16.0 |