Существует кнопка Fit to width > http://dark-demon.nm.ru/soft/custombuttons/ - первая в списке под заголовком "Другие кнопки" ,подгоняющая страницу по ширине монитора .... но нередко при этом искажая их до нечитабельного состояния,например так выглядит сайт http://echo.msk.ru/ после задействования кнопки >
... и есть расширение Fit to width для с аналогичной функциональностью, но при этом справляющаяся со своей задачей значительно лучше >
.... нельзя ли как-то исправить код кнопки , чтобы она выполняла свою функцию не хуже этого расширения?
Отредактировано Крошка Ру (20-11-2010 06:34:46)
Отсутствует
Доброго вечера!
Может уже такой вопрос задавался,но 100 страниц,ух боюсь не одолею !
Можно сделать кнопку что бы скопированную ссылку из буфера обмена при нажатии на кнопку открывал менеджер закачки,такой своеобразный flashgot
Нужно к нему привязать Universal Share Downloader.
Спасибо!
Отредактировано oval75 (20-11-2010 18:50:21)
Отсутствует
допустим ссылка на рапиду или депосит,делаем "Копировать ссылку" ,далее нажимаем на кнопку,запускается менеджер закачки с запросом закачки или без его,в зависимости уж от его настройки,ну и в общем качает
смысл такой что бы при нажатии на кнопку firefox запускал(или просто запускался менеджер,не знаю как сформулировать правильно ) менеджер закачки и передавал ему скопированную ссылку!
Ну а сейчас попробую по пунктам!
откуда эта ссылка берётся?
делаем "Копировать ссылку"
запускается ли менеджер закачки автоматически при появлении ссылки в буфере обмена или надо кнопку нажимать
надо кнопку нажимать
передаётся ли ссылка менеджеру или он сам её берёт из буфера?
передаётся
okkamas_knife
Спасибо огромное,то что доктор прописал! ура!ура!ура!
Отредактировано oval75 (20-11-2010 19:46:57)
Отсутствует
Всем привет, давно не появлялся я тут со своими вопросами ))))
И так надо получить адрес активной вкладки.
Я написал:
но проблема в том что надо из строки:
tmpURI="http://forum.mozilla-russia.org/viewtopic.php?id=9591&p=100"
выделить http://forum.mozilla-russia.org
Как проще это сделать?
Не хочется считать / для выделения подстроки, а tmpURI надо сравнить с предопределённой константой-строкой и выполнить те или иные действия.
Отредактировано Indomito (21-11-2010 14:12:14)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
okkamas_knife сенкс... да я что то ступил. Я про это var url=url.substring(0,mycnst.length); Я просто забыл про обрезку по длине. Спасибо.
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
var folder = messenger. messageServiceFromURI (uri). messageURIToMsgHdr (uri). folder;
ComposeMessage (Components. interfaces. nsIMsgCompType. Template, Components. interfaces. nsIMsgCompFormat. Default, folder, [uri]);
Подскажите как сделать чтобы шаблон всегда открывался с кодировкой utf-8.
Отсутствует
Подскажите как сделать чтобы шаблон всегда открывался с кодировкой utf-8.
Я не знаю, как открывать шаблон с кодировкой utf-8.
Если кодировка изменяется когда выделено не сообщение-шаблон, можно попробовать выделить сообщение-шаблон до того, как будет открыто окно составления нового сообщения.
Код такой:
var uri = "uri..."; var folder = messenger. messageServiceFromURI (uri). messageURIToMsgHdr (uri). folder; SelectFolder (folder. URI); gFolderDisplay. selectMessage (messenger. messageServiceFromURI (uri). messageURIToMsgHdr (uri)); ComposeMessage (Components. interfaces. nsIMsgCompType. Template, Components. interfaces. nsIMsgCompFormat. Default, folder, [uri]);
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
okkamas_knife на сайте дополнения http://space.geocities.yahoo.co.jp/gl/alice0775 есть
patchForBug487263_489729.uc.js скрипт расширения usercromJS или uc . Если его вставить в инициализацию СВ - возможно будет работать.
// ==UserScript== // @name patchForBug487263_489729.uc.js // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description Workaround for Bug 487263 - dragging a tab up or over the tab bar then out of the window does not detach & Bug 489729 - Clicking a tab once and then moving your mouse in a downward motion causes a new window to open. // @include main // @compatibility Firefox 3.5, 3.6a1pre // @author Alice0775 // @version 2009/06/03 00:00 TMPуБиуБоф║ТцПЫ, Bug 493978хЖНшАГ // ==/UserScript== // @version 2009/05/19 19:00 For checking-in Bug 487263 // @version 2009/05/03 19:00 уВ│уГ│уГЖуГ│уВиуГкуВвхИдхоЪ // @version 2009/05/02 19:00 уГЦуГйуВжуВ╢уБохдЦуБ╕уБоуВ┐уГЦхИЖщЫвуБи, уВ╗уГ│уВ╖уГУуГкуГЖуВгуБоцФ╣хЦД var bug489729 = { handleEvent: function(event) { switch(event.type) { case 'load': this.init(); break; case 'unload': this.uninit(); break; } }, init: function() { var func; //xxx Bug 489729 - Clicking a tab once and then moving your // mouse in a downward motion causes a new window to open. // Timer which is used detaching tab. gBrowser.___onDragOverTimer = null; if ('TabDNDObserver' in window) { //tmp func = TabDNDObserver.onDragStart.toString(); func = func.replace( 'if (gIsFirefox35) {', <><![CDATA[ if (gBrowser.___onDragOverTimer) clearTimeout(gBrowser.___onDragOverTimer); gBrowser.my_DragLeave = false; var xpref = Components.classes['@mozilla.org/preferences-service;1'] .getService(Components.interfaces.nsIPrefBranch2); try { var enable = xpref.getBoolPref("extensions.bug489729.enable_drop_url"); } catch(e) { enable = false; } $& ]]></> ) func = func.replace( /dt\.mozSetDataAt\("text\/x-moz-text-internal", spec, 0\);|dt\.mozSetDataAt\("text\/plain", spec, 0\);/g, <><![CDATA[ if (enable) { dt.mozSetDataAt("text/x-moz-url", spec + "\n" + draggedTab.getAttribute('label'), 0); dt.mozSetDataAt("text/unicode", spec, 0); dt.mozSetDataAt("text/html", "<a href=\"" + spec + "\">" + spec + "</a>", 0); } else { dt.mozSetDataAt("text\/x-moz-text-internal", spec, 0); } ]]></> ) eval("TabDNDObserver.onDragStart = " + func); TabDNDObserver.onDragEnd = function minit_onDragEnd(aEvent) { var xpref = Components.classes['@mozilla.org/preferences-service;1'] .getService(Components.interfaces.nsIPrefBranch2); try { var disabled = xpref.getBoolPref("extensions.bug489729.disable_detach_tab"); } catch(e) { disabled = true; } if (disabled) { return; } // * mozUserCancelled = the user pressed ESC to cancel the drag var dt = aEvent.dataTransfer; if (gSingleWindowMode || dt.mozUserCancelled || dt.dropEffect != "none") { return; } // Disable detach within the browser toolbox var eX = aEvent.screenX; var wX = window.screenX; var eY = aEvent.screenY; var wY = window.screenY; var tabbar = gBrowser.mTabContainer.mTabstrip.boxObject; var contentArea = gBrowser.mPanelContainer.boxObject; // xxx Bug 493978 - Disable tab-detach when the tab is dropped very close to the tabbar const TLERANCE = 15; //15px is enough. var side = { "TOP" :contentArea.screenY, "BOTTOM":contentArea.screenY + contentArea.height, "LEFT" :contentArea.screenX, "RIGHT" :contentArea.screenX + contentArea.width } if (tabbar.screenY + tabbar.height <= contentArea.screenY) side["TOP"] += TLERANCE; else if (tabbar.screenY >= contentArea.screenY + contentArea.height) side["BOTTOM"] -= TLERANCE; else if (tabbar.screenX + tabbar.width <= contentArea.screenX) side["LEFT"] += TLERANCE; else side["RIGHT"] -= TLERANCE; // check if the drop point is not (within contentArea or outside the window) // eq. dropped too close to the tabbar or toolbox and statusbar(incl. findbar) if (!(gBrowser.my_DragLeave && side["TOP"] < eY && eY < side["BOTTOM"] && side["LEFT"] < eX && eX < side["RIGHT"] || eY < wY || wY + window.outerHeight < eY || eX < wX || wX + window.outerWidth < eX )) { return; } var draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0); if ('TreeStyleTabBrowser' in window) if (this.treeStyleTab.isDraggingAllTabs(draggedTab)) return; gBrowser.replaceTabWithWindow(draggedTab); this.clearDragmark(aEvent); aEvent.stopPropagation(); } } else { //xxx Bug 489729 - Clicking a tab once and then moving your // mouse in a downward motion causes a new window to open. // Detach of a tab is disabled immediately after dragstart. func = gBrowser._onDragStart.toString(); func = func.replace( 'var target = aEvent.target;', <><![CDATA[ var target = aEvent.target; if (gBrowser.___onDragOverTimer) clearTimeout(gBrowser.___onDragOverTimer); this.my_DragLeave = false; ]]></> ) func = func.replace( /dt\.mozSetDataAt\("text\/x-moz-text-internal", spec, 0\);|dt\.mozSetDataAt\("text\/plain", spec, 0\);/, <><![CDATA[ var xpref = Components.classes['@mozilla.org/preferences-service;1'] .getService(Components.interfaces.nsIPrefBranch2); try { var enable = xpref.getBoolPref("extensions.bug489729.enable_drop_url"); } catch(e) { enable = false; } if (enable) { dt.mozSetDataAt("text/x-moz-url", spec + "\n" + target.getAttribute('label'), 0); dt.mozSetDataAt("text/unicode", spec, 0); dt.mozSetDataAt("text/html", "<a href=\"" + spec + "\">" + spec + "</a>", 0); } else { dt.mozSetDataAt("text/x-moz-text-internal", spec, 0); } ]]></> ) eval("gBrowser._onDragStart = " + func); //xxx Bug 487263 & xxx Bug489729 gBrowser._onDragEnd = function _onDragEnd(aEvent) { var xpref = Components.classes['@mozilla.org/preferences-service;1'] .getService(Components.interfaces.nsIPrefBranch2); try { var disabled = xpref.getBoolPref("extensions.bug489729.disable_detach_tab"); } catch(e) { disabled = true; } if (disabled) { return; } // * mozUserCancelled = the user pressed ESC to cancel the drag var dt = aEvent.dataTransfer; if (dt.mozUserCancelled || dt.dropEffect != "none") { return; } // Disable detach within the browser toolbox var eX = aEvent.screenX; var wX = window.screenX; var eY = aEvent.screenY; var wY = window.screenY; var tabbar = gBrowser.mTabContainer.mTabstrip.boxObject; var contentArea = gBrowser.mPanelContainer.boxObject; // xxx Bug 493978 - Disable tab-detach when the tab is dropped very close to the tabbar const TLERANCE = 15; //15x is enough. var side = { "TOP" :contentArea.screenY, "BOTTOM":contentArea.screenY + contentArea.height, "LEFT" :contentArea.screenX, "RIGHT" :contentArea.screenX + contentArea.width } if (tabbar.screenY + tabbar.height <= contentArea.screenY) side["TOP"] += TLERANCE; else if (tabbar.screenY >= contentArea.screenY + contentArea.height) side["BOTTOM"] -= TLERANCE; else if (tabbar.screenX + tabbar.width <= contentArea.screenX) side["LEFT"] += TLERANCE; else side["RIGHT"] -= TLERANCE; // check if the drop point is not (within contentArea or outside the window) // eq. dropped too close to the tabbar or toolbox and statusbar(incl. findbar) if (!(this.my_DragLeave && side["TOP"] < eY && eY < side["BOTTOM"] && side["LEFT"] < eX && eX < side["RIGHT"] || eY < wY || wY + window.outerHeight < eY || eX < wX || wX + window.outerWidth < eX )) { return; } var draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0); if ('TreeStyleTabBrowser' in window) if (this.treeStyleTab.isDraggingAllTabs(draggedTab)) return; this.replaceTabWithWindow(draggedTab); aEvent.stopPropagation(); } } //xxx Bug 489729 - Clicking a tab once and then moving your // mouse in a downward motion causes a new window to open. // After drug over is carried out in contents area, // detaching of a tab is made enable in 100msec again. gBrowser.___onDragOver = function(aEvent) { if (!this.my_DragLeave) { this.___onDragOverTimer = setTimeout(function(self){ self.my_DragLeave = true; }, 100, gBrowser); } } gBrowser.mPanelContainer.addEventListener('dragover', gBrowser.___onDragOver, true); window.addEventListener('unload', this, false); }, uninit: function() { gBrowser.mPanelContainer.removeEventListener('dragover', gBrowser.___onDragOver, true); window.removeEventListener('unload', this, false); }, //Fx version getVer: function(){ const Cc = Components.classes; const Ci = Components.interfaces; var info = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULAppInfo); var ver = parseInt(info.version.substr(0,3) * 10,10) / 10; return ver; } } //window.addEventListener('load', bug489729, false); bug489729.init();
Отредактировано imyax (25-11-2010 00:57:35)
Отсутствует
Если кодировка изменяется когда выделено не сообщение-шаблон, можно попробовать выделить сообщение-шаблон до того, как будет открыто окно составления нового сообщения.
Пример кода не помогает, да и не удобно что на шаблон перекидывает. Решение не подходит.
Отсутствует
Расширение супер, автору респект, только как насчёт поддержки 2.1?
Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20110511 Firefox/4.0.1 SeaMonkey/2.1
[img]http://disk.karelia.ru/s/softwayer/Others/SM-userbar.gif[/img]
Отсутствует
Была тут кнопка:
var path = "c:\\www\\link.txt"; var urls = custombuttonsUtils. readFile (path); urls = urls. split (/[\r\n]{1,2}/); if (urls. length != 0) { var ind = Math. floor (Math. random () * urls. length); loadURI (urls [ind]); }
Она берет произвольную ссылку из текстового файла и загружает её в браузере. Прошу гуру сего приложения помочь мне решить вопрос: необходимо слегка доработать кнопку:
нужно чтобы она брала первую часть ссылки из текстового файла 1.txt (в нем содержатся ссылки формата site.com, abc.com и т.д.), и к ней добавлял вторую часть ссылки из второго текстового файла 2.txt (в нем содержится окончание ссылки /1.html , /2.html и т.д.) и соответственно загружал итоговую ссылку в фф.
Спасибо за любую помощь
Отсутствует
Хм… Вчера почему-то не работало
Yan'у и Anton'у дважды респект
Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20110511 Firefox/4.0.1 SeaMonkey/2.1
[img]http://disk.karelia.ru/s/softwayer/Others/SM-userbar.gif[/img]
Отсутствует
wald
Включить/выключить автосохранение ?
С AutoSave 1.3.2 работает так:
var prefName = "scrapbook.autosave.enabled"; var prefValue = sbCommonUtils. getBoolPref (prefName); sbCommonUtils. setBoolPref (prefName, !prefValue); this. checked = !prefValue;
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
wald
А можно к ней какие нибудь значки? А то тут кнопка должна меняться в зависимости включено автосохранение или нет.
Надо добавить к коду (в конец)
вместо image1 и image2 надо подставить путь к нужным картинкам (image1 - включено, image2 - выключено). Что-нибудь вроде
Отредактировано Anton (25-11-2010 22:02:19)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Прошу о помощи.
Нашел очень полезный код каторый дабавляет в контекстное меню пункт Inspect Element для запуска DOM Inspector и исследование элемента на котором вы кликнули правой клавишей мыши(пкм). Код недружит с расширением FireGestures - при использования жестов мышью выскакивет контекстное меню. Потому прошу, дайте /*Initialization Code*/ каторый включал/выключал код Inspect Element по пкм на кнопке.
(function() {
if(typeof inspectDOMDocument != "function") {
var errMsg = "inspectChrome: DOM Inspector is not installed" +
"or is disabled";
throw new Error(errMsg);
return;
}
function addMenuitem(aNode, aIndex) {
var mi = aNode.appendChild(document.createElement("menuitem"));
mi.id = aIndex ? "context-inspector-" + aIndex : "context-inspector";
mi.setAttribute("label", aNode.id == "contentAreaContextMenu"
? "Inspect Element"
: "Inspect Chrome Element");
mi.setAttribute("oncommand",
"inspectDOMDocument(document.popupNode)");
mi.setAttribute("onclick",
"if(event.button == 1) inspectObject(document.popupNode)");
if(aNode.id != "chrome-inspector-popup") {
var ms = aNode.insertBefore(document.createElement("menuseparator"), mi);
ms.id = mi.id + "-separator";
}
}
var popups = document.getElementsByTagName("popup");
for(var i = 0; i < popups.length; i++) {
var popup = popups[i];
if(popup.getElementsByTagName("menuitem").length)
addMenuitem(popup, i);
}
var newPopup = document.createElement("popup");
newPopup.id = "chrome-inspector-popup";
addMenuitem(newPopup);
document.getElementById("mainPopupSet").appendChild(newPopup);
document.documentElement.setAttribute("context", newPopup.id);
//tab context menu
var tabContext = document.getAnonymousElementByAttribute(
gBrowser, "anonid", "tabContextMenu");
var tabInspector = tabContext.appendChild(
document.createElement("menuitem"));
tabInspector.id = "tab-inspector";
tabInspector.setAttribute("label", "Inspect This Tab");
tabInspector.setAttribute("oncommand",
"var tabbrowser = getBrowser(); " +
"inspectDOMDocument(tabbrowser.mContextTab.localName == 'tabs'" +
" ? gBrowser" +
" : tabbrowser.mContextTab.linkedBrowser.contentDocument);");
tabInspector.setAttribute("onclick",
"if(event.button == 1) { " +
"var tabbrowser = getBrowser(); " +
"inspectObject(tabbrowser.mContextTab.localName == 'tabs'" +
" ? gBrowser" +
" : tabbrowser.mContextTab.linkedBrowser.contentDocument); " +
"}");
var tabInspectSeparator = document.createElement("menuseparator");
tabInspectSeparator.id = "tab-inspector-separator";
tabContext.insertBefore(tabInspectSeparator, tabInspector);
})();
Отредактировано bunda1 (27-11-2010 17:14:58)
Отсутствует
bunda1
FireGestures я нашел, а Inspect Element найти не могу.
Есть Inspect Element 0.3 на AMO для версий 0.9-1.0+, но она, похоже, совсем не работает.
Есть ещё InspectorWidget и Inspect This, но не уверен, что это то, о чем идет речь.
Кроме того, на всякий случай, опиши последовательность действий, при которой возникает конфликт.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
Inspect Element это код для работы с раширением DOM Inspector.
Отредактировано bunda1 (27-11-2010 19:42:15)
Отсутствует
bunda1
Inspect Element это код для работы с раширением DOM Inspector.
Понятно. Теперь, что касается
Код недружит с расширением FireGestures - при использования жестов мышью выскакивет контекстное меню.
У меня почему-то контекстное меню не выскакивает.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует