bunda1, да я уже давно ныл тут, что при выборе пункта "Открыть файл", "Сохранить файл" не показывает диалоговое окошко. При чем на всех версиях, с чистым профилем.. На последней горячо любимой SeaMonkey 2.39 по нескольку раз перезапускать приходится ее и с энной попытки вдруг волшебным образом начинает работать диалог. На время дальнейшей работы, до закрытия всех окон баг не проявляется...
Добавлено 16-03-2016 23:01:12
Причем диалоги не показывает никакие, где что бы то ни было нужно было сохранять, открывать..
Отредактировано emlen (16-03-2016 23:01:12)
SeaMonkey 2.39 forever
Отсутствует
bunda1
№9850, а как сделать чтобы всё открывалось в неактивных вкладках?
// Открывать адрес из адресной строки в новой вкладке, от 16.03.2016. ................. (()=> { var src = "gURLBar.handleCommand = " + gURLBar.handleCommand.toString(), res = src.replace('altEnter)', 'true)').replace('if (isMouseEvent)', 'if (false)').replace('where,', '"tabshifted",'); eval(res); alert(res); addDestructor(()=> eval(src) ); })();
Отсутствует
У Вас в основных настройках как определяется путь сохранения файла?
"Всегда выдавать запрос на сохранение файлов"
или "Путь загрузки файлов"?
Если "Путь загрузки файлов", то всё будет без диалога по указанному пути.
(Так в Файрфоксе. Как в Симанке - не знаю)
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует
bunda1 №9902
Спасибо. Кнопка работает, всё как и хотел. Только после редактирования кнопки выскакивает вот такое окно
gURLBar.handleCommand = function handleCommand(aTriggeringEvent) { if (aTriggeringEvent instanceof MouseEvent && aTriggeringEvent.button == 2) return; // Do nothing for right clicks var url = this.value; var mayInheritPrincipal = false; var postData = null; let action = this._parseActionUrl(this._value); let lastLocationChange = gBrowser.selectedBrowser.lastLocationChange; let matchLastLocationChange = true; if (action) { if (action.type == "switchtab") { url = action.params.url; if (this.hasAttribute("actiontype")) { this.handleRevert(); let prevTab = gBrowser.selectedTab; if (switchToTabHavingURI(url) && isTabEmpty(prevTab)) { gBrowser.removeTab(prevTab); } return; } } else if (action.type == "remotetab") { url = action.params.url; } else if (action.type == "keyword") { url = action.params.url; } else if (action.type == "searchengine") { [url, postData] = this._parseAndRecordSearchEngineAction(action); } else if (action.type == "visiturl") { url = action.params.url; } continueOperation.call(this); } else { this._canonizeURL(aTriggeringEvent, response => { [url, postData, mayInheritPrincipal] = response; if (url) { matchLastLocationChange = (lastLocationChange == gBrowser.selectedBrowser.lastLocationChange); continueOperation.call(this); } }); } function continueOperation() { this.value = url; gBrowser.userTypedValue = url; try { addToUrlbarHistory(url); } catch (ex) { // Things may go wrong when adding url to session history, // but don't let that interfere with the loading of the url. Cu.reportError(ex); } let loadCurrent = () => { try { openUILinkIn(url, "current", { allowThirdPartyFixup: true, indicateErrorPageLoad: true, disallowInheritPrincipal: !mayInheritPrincipal, allowPinnedTabHostChange: true, postData: postData, allowPopups: url.startsWith("javascript:"), }); } catch (ex) { // This load can throw an exception in certain cases, which means // we'll want to replace the URL with the loaded URL: if (ex.result != Cr.NS_ERROR_LOAD_SHOWED_ERRORPAGE) { this.handleRevert(); } } // Ensure the start of the URL is visible for UX reasons: this.selectionStart = this.selectionEnd = 0; }; // Focus the content area before triggering loads, since if the load // occurs in a new tab, we want focus to be restored to the content // area when the current tab is re-selected. gBrowser.selectedBrowser.focus(); let isMouseEvent = aTriggeringEvent instanceof MouseEvent; // If the current tab is empty, ignore Alt+Enter (just reuse this tab) let altEnter = !isMouseEvent && aTriggeringEvent && aTriggeringEvent.altKey && !isTabEmpty(gBrowser.selectedTab); if (isMouseEvent || true) { // Use the standard UI link behaviors for clicks or Alt+Enter let where = "tab"; if (false) where = whereToOpenLink(aTriggeringEvent, false, false); if (where == "current") { if (matchLastLocationChange) { loadCurrent(); } } else { this.handleRevert(); let params = { allowThirdPartyFixup: true, postData: postData, initiatingDoc: document }; openUILinkIn(url, "tabshifted", params); } } else { if (matchLastLocationChange) { loadCurrent(); } } } }
Отсутствует
Спасибо. Кнопка работает, всё как и хотел. Только после редактирования кнопки выскакивает вот такое окно
Упс, забыл убрать проверочный alert. Вот:
// Открывать адрес из адресной строки в новой вкладке, от 16.03.2016. ................. (()=> { var src = "gURLBar.handleCommand = " + gURLBar.handleCommand.toString(), res = src.replace('altEnter)', 'true)').replace('if (isMouseEvent)', 'if (false)').replace('where,', '"tabshifted",'); eval(res); addDestructor(()=> eval(src) ); })();
Отсутствует
помогите....
Удали мой старый код а этот код закинь в инициализацию:
this._handleClick =()=> { setToolbarVisibility(bar, bar.collapsed); self.setAttribute("hide", bar.collapsed); document.persist(_id, "hide"); }; var bar = document.getElementById("nav-bar"); bar.collapsed = self.getAttribute("hide");
Отсутствует
Версия 0.0.5.8.7 Выпущено March 15, 2016 123.4 kB Работает с Firefox 1.5 и выше, SeaMonkey 2.0 и выше, Thunderbird 2.0 и выше# Исправлено: Custom Buttons не работает в Firefox 48# Исправлено: кнопки из закладок устанавливаются дважды
Хм, а у вас на последней ночнушке, с этой версией, в about:addons, на вкладке CB, ничего странного? У меня она пустая и пишет, что кнопок нет. Хотя сами кнопки на месте и работают. И в консоли тишина.
Отсутствует
Хм, а у вас на последней ночнушке, с этой версией, в about:addons, на вкладке CB, ничего странного? У меня она пустая и пишет, что кнопок нет. Хотя сами кнопки на месте и работают. И в консоли тишина.
Ага, действительно пустая. Давненько туда не заглядывал...
Отсутствует
как самостоятельно сделать изображение (иконку кнопки)? где брать каталог изображений?
iconbird.com
iconizer.net
iconarchive.com
iconsearch.ru
Отредактировано emlen (17-03-2016 21:49:28)
SeaMonkey 2.39 forever
Отсутствует
http://iconbird.com/
http://iconizer.net/ru/free_icons
http://www.iconarchive.com/
http://www.iconsearch.ru/
спасибо. И как их вставлять?
Как вставлять уже понял... спасибо. Каковы должны быть размеры иконки, знаете?
Отредактировано Артик (17-03-2016 21:58:01)
Отсутствует
Артик
Сохранить на диск, выбрать "открыть" и вставить. Чтобы с диска можно было картинку затем удалить, сконвертировать в base64, кнопкой рядом с "открыть".
Кстати, помимо вкладки в аддонах, еще и конвертер в base64 отвалился. Не знаю, только ли в ночнушках, поэтому вот еще кнопка для контекстного меню https://forum.mozilla-russia.org/viewto … 58#p684758
Каковы должны быть размеры иконки, знаете?
16х16
Отсутствует
Артик
Вот кнопка для переключения панели навигации:
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u043D%u0430%u0432%u0438%u0433%u0430%u0446%u0438%u0438%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAFRElEQVQ4jbXVa0xTZxwGcL8I5TJ7o+f0SkdbbeFASzntaUt7OD2UUi4FLAhyEXHokDABrRdEBUSGCiNqgKG7uGkWY8wydR6NWbYIm0bcXNZkJsuS+WWJWbItW6JuWZcozz6wDUG++iRP/t9+efO+yf9dseJFxkDTYsruyspxspyZ9vJ6iuYlGiOfqtQ/V5FcUygSkwGRmAykkJqAxkgVGikXn5XnZa0Oh5miqNT/YYvD589wlw9r2cbLWq5FULPNgtRZK0ic6wQpXSNIHdVX5I7qK3I6IkhyKwRZXsVV0lF5VeOJXE331QtqX6Og9a67aHIF+20OB7NwYibUTrKb7ohDvU9l4eE5xdoRpFUeniOqhkFWDoGoODRHVg7OkeE+KEp7YakbRHHnCTQPvI/8reMgwgOQBrqe6LzrpnMYX+MC7A5HiUBHTFI5CkXdW1DWvwPl+ikoa8ehqjkOVfUYVJFRKCuGQJT1oaR7CuMXZvD19w+w59RnSG+YhLS0D1pu4yzF+LcswPmVUTLYFZNFxqBcfwqa9aegrp2EuvoEVFWjUIZfh7J0AERwLxR8FJEdk/jw07t49Gccb5y/BUPTJOTlA9D7W2at7kVwOEoWdcRkFcNQRo5BtXYMqqqjUJYNQl2yD47GIRw8+TFOX/oCY2euo7HnJNwbhuBpGUFW/SjIqqOQl+6Hntu4DMy3xWRlAyDDQ1CWHYSy5ADIwE6o+W3gN/bj2uff4MHPv+Ore/exY+QDZFb2QF28G6rSPijKByEP9UDPNc1aF12FuyxK+jfHZMU9IEK9IIt2guC7oPBtgSq/GYGm3bh19x7i8b9x/8ef0Hv8HCzhXSAKt4MM7oEitA/yoih0BfXLwAUtMWlhNwi+E9rC12AIdiCDb4XJ34RQUzcuXZ/Gt9/9gGs3vsSrB96EqaQLhH8biMB2KIp2QV7YCZ2vbpZi2AXY5C6Jkt7GmJRtA+FrhSPSjUj7AGra+1DTthfN2w5g/5EJdPSOINS8C1klW6EqaAVR0AbS34E0fyfk/nbovDVLYCYYJVw1MTHTgHRvA45MnMXDx3/gv8zNzQEAps5+hNxQK9LsNVAwDSDczSDyN0Hu3Qy57xXo8qsWwwYmECWcVbGX8iLQOKswfPxtPHz0+Dl48r0LyA5sgCQnDJm9GmmOOqQ56yFzbYDM0wSdq2KWYrzPwHQgqqDLY6nWcqjtIQyNTS0LT5w+j0yuDqnmIqyiSiHOqYDEVgUpXQspUwctUzZL0YtgPqqwl8ZSqGKQ2TwOjU4sC4+/ew4WXwTJBhbJq3mkmIuQainGKmsFpHQEWmfJMrAtGEs280izsOg/fAK//Pob4vE44vE4/vp3Hjt5BmvcYYj0bogyvBAZWIiMHJItQYhzw9DSwVmKdj/zeDQXVWTzMZGJhcTkxubOvbj2yQ3M3LyNmZu3MX3zNmZuzaK79xDSrRwS1TYkavIg0jkg0ruRaGCRShVDY+cXwwY7F5VSXGylkUWCjoZstQvptgLobSz0VnZ+5nJIs3gg0tmxUpOLBF0eEnQOJKQzWJnhRVJmAEortxT2tstz/HcSzNzTRGM+kjIYJGU4kPQyPd8MGkkGJ5IMDBINLiQa3BAZPRCZ8iEy+ZC4hkMyFXiisXHTFM0srE1Lrtuvz/UOEznsZTLTI0hNeUKyhhKS1Jb5auabrM0UkrXUfNOzhRS9VVBQHoHM9gkqW8FFk93Tb7M9u+hpWkzZ7VkWu5MzUjSvMZr51DQNLxKThfOVF4okSj51SSVKPW+20bzZ5uKz8hjWal3yNb2I/AOP8rkDRv60MAAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis._handleClick%20%3D%28%29%3D%3E%20%7B%0A%20%20%20setToolbarVisibility%28bar%2C%20bar.collapsed%29%3B%0A%20%20%20cbu.setPrefs%28%27CB.navBar.hidden%27%2C%20bar.collapsed%29%3B%0A%7D%3B%0Avar%20bar%20%3D%20document.getElementById%28%22nav-bar%22%29%3B%0Abar.collapsed%20%3D%20cbu.getPrefs%28%27CB.navBar.hidden%27%29%3B%0A%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отсутствует
// Открывать адрес из адресной строки в новой вкладке, от 12.03.2016. ................. (()=> { var src = "gURLBar.handleCommand = " + gURLBar.handleCommand.toString(), res = src.replace('altEnter)', 'true)').replace('if (isMouseEvent)', 'if (false)'); eval(res); addDestructor(()=> eval(src) ); })();
В 38 ESR, видимо, не запускается src.replace('altEnter)'
Если сделать в выпадающем списке закладок сделать клик с нажатым Ctrl, тогда вкладка открывается, как и положено.
В связи с этим вопрос:
как в код добавить модификатор Ctrl, чтобы кнопка заработала и на 38 версии?
Отсутствует
не работает этот код
этот код надо скопировать в адресную строку и открыть.
Добавлено 17-03-2016 23:11:16
как в код добавить модификатор Ctrl, чтобы кнопка заработала и на 38 версии?
Дай мне код что показывает alert(gURLBar.handleCommand);
Отредактировано bunda1 (17-03-2016 23:11:16)
Отсутствует
bunda1
function handleCommand(aTriggeringEvent) { if (aTriggeringEvent instanceof MouseEvent && aTriggeringEvent.button == 2) return; // Do nothing for right clicks var url = this.value; var mayInheritPrincipal = false; var postData = null; let action = this._parseActionUrl(this._value); let lastLocationChange = gBrowser.selectedBrowser.lastLocationChange; let matchLastLocationChange = true; if (action) { if (action.type == "switchtab") { url = action.params.url; if (this.hasAttribute("actiontype")) { this.handleRevert(); let prevTab = gBrowser.selectedTab; if (switchToTabHavingURI(url) && isTabEmpty(prevTab)) gBrowser.removeTab(prevTab); return; } } else if (action.type == "keyword") { url = action.params.url; } else if (action.type == "searchengine") { let engine = Services.search.getEngineByName(action.params.engineName); let submission = engine.getSubmission(action.params.searchQuery); url = submission.uri.spec; postData = submission.postData; } else if (action.type == "visiturl") { url = action.params.url; } continueOperation.call(this); } else { this._canonizeURL(aTriggeringEvent, response => { [url, postData, mayInheritPrincipal] = response; if (url) { matchLastLocationChange = (lastLocationChange == gBrowser.selectedBrowser.lastLocationChange); continueOperation.call(this); } }); } function continueOperation() { this.value = url; gBrowser.userTypedValue = url; try { addToUrlbarHistory(url); } catch (ex) { // Things may go wrong when adding url to session history, // but don't let that interfere with the loading of the url. Cu.reportError(ex); } let loadCurrent = () => { openUILinkIn(url, "current", { allowThirdPartyFixup: true, disallowInheritPrincipal: !mayInheritPrincipal, allowPinnedTabHostChange: true, postData: postData }); // Ensure the start of the URL is visible for UX reasons: this.selectionStart = this.selectionEnd = 0; }; // Focus the content area before triggering loads, since if the load // occurs in a new tab, we want focus to be restored to the content // area when the current tab is re-selected. gBrowser.selectedBrowser.focus(); let isMouseEvent = aTriggeringEvent instanceof MouseEvent; let altEnter = !isMouseEvent && aTriggeringEvent && aTriggeringEvent.altKey; if (true) { // XXX This was added a long time ago, and I'm not sure why it is // necessary. Alt+Enter's default action might cause a system beep, // or something like that? aTriggeringEvent.preventDefault(); aTriggeringEvent.stopPropagation(); } // If the current tab is empty, ignore Alt+Enter (just reuse this tab) altEnter = altEnter && !isTabEmpty(gBrowser.selectedTab); if (isMouseEvent || true) { // Use the standard UI link behaviors for clicks or Alt+Enter let where = "tab"; if (false) where = whereToOpenLink(aTriggeringEvent, false, false); if (where == "current") { if (matchLastLocationChange) { loadCurrent(); } } else { this.handleRevert(); let params = { allowThirdPartyFixup: true, postData: postData, initiatingDoc: document }; openUILinkIn(url, where, params); } } else { if (matchLastLocationChange) { loadCurrent(); } } } }
Отсутствует