Обновился до 78.0.1. Опять слетели настройки адресной строки. По клику в поле адреса появляется 8 адресов (раньше у меня было 12). На иконке сайта размещена богомерзкая пиктограмма прикрепления. Пытался вернуть всё к первоначальным настройкам кодом, найденным на форуме (см.ниже) - не прокатило. Прошу совета знатоков - как победить?
#urlbar[breakout][breakout-extend] {
top: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
left: 0 !important;
width: 100% !important;
}
#urlbar[breakout][breakout-extend] > #urlbar-input-container {
height: var(--urlbar-height) !important;
padding-block: 0px !important;
padding-inline: 0px !important;
}
#urlbar[breakout][breakout-extend][breakout-extend-animate] > #urlbar-background {
animation-name: none !important;
}
#urlbar[breakout][breakout-extend] > #urlbar-background {
box-shadow: none !important;
}
Отсутствует
Пытался вернуть всё к первоначальным настройкам кодом, найденным на форуме (см.ниже) - не прокатило.
Ну так код не для этой цели.
Решение есть уже как месяц с небольшим, нужно только приложить голову.
// Этот скрипт работает в главном окне браузера если включено в настройках var ucf_custom_script_win = { initialized: false, unloadlisteners: [], load: function() { if (this.initialized) return; this.initialized = true; // this.specialwidgets.constructor(); // <-- Special Widgets // this.autohidesidebar.constructor(); // <-- Auto Hide Sidebar /* ************************************************ */ try { this.urlbarhistorydropmarker.constructor(); } catch (e) {} // Здесь может быть ваш код который сработает по событию "load" не раньше /* ************************************************ */ if (this.unloadlisteners.length < 1) return; window.addEventListener("unload", this, false); }, handleEvent: function(event) { this[event.type](event); }, unload: function() { window.removeEventListener("unload", this, false); this.unloadlisteners.forEach((str) => { try { this[str].destructor(); } catch (e) {} }); }, urlbarhistorydropmarker: { dropmarker: null, provider: null, constructor: function() { Services.prefs.addObserver("browser.urlbar.suggest.topsites", this); ucf_custom_script_win.unloadlisteners.push("urlbarhistorydropmarker"); var {UrlbarProviderTopSites: provider} = {UrlbarProviderTopSites: this.provider} = ChromeUtils.import("resource:///modules/UrlbarProviderTopSites.jsm"); if (!provider.orig_isActive) { provider.orig_isActive = provider.isActive; provider.ucf_isActive = true; } if (!Services.prefs.getBoolPref("browser.urlbar.suggest.topsites", true)) this.createDropmarker(); }, createDropmarker: function() { this.provider.isActive = { isActive(queryContext) { var ucf_isActive = this.ucf_isActive; this.ucf_isActive = true; return !queryContext.searchString ? ucf_isActive : false; } }.isActive; var fragment = MozXULElement.parseXULToFragment(`<image class="urlbar-history-dropmarker urlbar-icon chromeclass-toolbar-additional" role="button" tooltiptext="Показать историю"/>`); var dropmarker = this.dropmarker = fragment.firstElementChild; document.querySelector("#urlbar #page-action-buttons").before(fragment); dropmarker.addEventListener("mousedown", this); }, destructor: function() { if (this.dropmarker) this.dropmarker.removeEventListener("mousedown", this); Services.prefs.removeObserver("browser.urlbar.suggest.topsites", this); }, observe: function() { if (!this.dropmarker) this.createDropmarker(); else { this.dropmarker.removeEventListener("mousedown", this); this.dropmarker.remove(); this.dropmarker = null; this.provider.isActive = this.provider.orig_isActive; } }, handleEvent: function(event) { event.preventDefault(); event.stopPropagation(); if (gURLBar.view.isOpen) gURLBar.view.close(); else { this.provider.ucf_isActive = false; gURLBar.focus(); gURLBar.startQuery({ allowAutofill: false }); } } }, specialwidgets: { _timer: null, get Customizable() { delete this.Customizable; if ("createSpecialWidget" in CustomizableUI) return this.Customizable = CustomizableUI; var scope = null; try { scope = Cu.import("resource:///modules/CustomizableUI.jsm", {}).CustomizableUIInternal; } catch (e) { } return this.Customizable = scope; }, constructor: function() { if (!("CustomizableUI" in window) || !("gCustomizeMode" in window)) return; ucf_custom_script_win.unloadlisteners.push("specialwidgets"); window.addEventListener("customizationready", this, false); }, destructor: function() { window.removeEventListener("customizationready", this, false); }, handleEvent: function(event) { this[event.type](event); }, customizationchange: function() { clearTimeout(this._timer); this._timer = setTimeout(() => { this.createSpecialWidgets(); }, 1000); }, customizationready: function() { if (!this.Customizable) return; this.createSpecialWidgets(); window.addEventListener("customizationchange", this, false); window.addEventListener("customizationending", this, false); }, customizationending: function() { window.removeEventListener("customizationchange", this, false); window.removeEventListener("customizationending", this, false); }, createSpecialWidgets: function() { try { var fragment = document.createDocumentFragment(); if (this.findSpecialWidgets("spring")) { var spring = this.Customizable.createSpecialWidget("spring", document); spring.setAttribute("label", "Растягивающийся интервал"); fragment.append(gCustomizeMode.wrapToolbarItem(spring, "palette")); } if (this.findSpecialWidgets("spacer")) { var spacer = this.Customizable.createSpecialWidget("spacer", document); spacer.setAttribute("label", "Интервал"); fragment.append(gCustomizeMode.wrapToolbarItem(spacer, "palette")); } if (this.findSpecialWidgets("separator")) { var separator = this.Customizable.createSpecialWidget("separator", document); separator.setAttribute("label", "Разделитель"); fragment.append(gCustomizeMode.wrapToolbarItem(separator, "palette")); } gCustomizeMode.visiblePalette.append(fragment); } catch (e) {} }, findSpecialWidgets: function(string) { try { if (!gCustomizeMode.visiblePalette.querySelector(`toolbar${string}[id^="customizableui-special-${string}"]`)) return true; } catch (e) {} return false; } }, autohidesidebar: { sidebar: null, constructor: function() { var sidebar = this.sidebar = document.querySelector("#sidebar-box"); if(!sidebar) return; ["dragenter", "drop", "dragexit"].forEach((type) => { sidebar.addEventListener(type, this, false); }); ucf_custom_script_win.unloadlisteners.push("autohidesidebar"); }, destructor: function() { var sidebar = this.sidebar; ["dragenter", "drop", "dragexit"].forEach((type) => { sidebar.removeEventListener(type, this, false); }); }, handleEvent: function(event) { this[event.type](event); }, dragenter: function() { if (!this.sidebar.hasAttribute("sidebardrag")) this.sidebar.setAttribute("sidebardrag", "true"); }, drop: function() { if (this.sidebar.hasAttribute("sidebardrag")) this.sidebar.removeAttribute("sidebardrag"); }, dragexit: function(event) { var sidebar = this.sidebar; var boxObj = sidebar.getBoundingClientRect(), boxScrn = !sidebar.boxObject ? sidebar : sidebar.boxObject; if ((!event.relatedTarget || event.screenY <= (boxScrn.screenY + 5) || event.screenY >= (boxScrn.screenY + boxObj.height - 5) || event.screenX <= (boxScrn.screenX + 5) || event.screenX >= (boxScrn.screenX + boxObj.width - 5)) && sidebar.hasAttribute("sidebardrag")) sidebar.removeAttribute("sidebardrag"); } } }; if (window.document.readyState != "complete") { window.addEventListener("load", function load() { window.removeEventListener("load", load, false); ucf_custom_script_win.load(); }, false); } else ucf_custom_script_win.load();
Отсутствует