У меня после нажатия кнопки Внешний редактор открывается пустая страница в внешнем редакторе, хотя код в CB редакторе есть. Что за дела ?
У меня запускается
"путь\к\редактору" %firefoxProfile%\Temp_ExternalEditor\custombuttons.%циферки%.js
Файл создается?
заметил небольшой побочный эффект:
с установленной кнопкой, невозможно сконвертировать иконку в любой CB-кнопке в base64
Да, вижу. Если будет время, попробую подправить.
Страница содержит парочку вложенных фреймов, можно ли по аналогии как-то получить вложенные исходники отдельно?
Пример фреймов.Выделить кодКод:
<frameset cols="*,500" border="0" id="main"> <frame src="/abc" id="two" name="high" frameborder="0" /> <frame src="/zxc" id="main" name="low" frameborder="0" /> </frameset>Ну или сразу всю страницу целиком включая фреймы.
Для сразу всего есть TreeWalker, но, вроде бы, всю обработку надо с ним вручную делать.
А в простом варианте достаточно в
заменить «content.document» на «content.document.getElementById("two").contentDocument» или что-нибудь вроде «content.frames[0].document».
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Да, вижу. Если будет время, попробую подправить.
нашел еще небольшой глючок в совместимости с внешним редактором:
если в окне редактирования кнопки нажать "Внешний редактор", поработать в нем, сохранить и закрыть, то код нормально перенесется в окно редактора CB
но если не закрывая окно редактирования кнопки еще раз выбрать "Внешний редактор", то через каждую строку кода вставится пустая строка
выйти-зайти еще раз - строк станет больше и т.д.
если будет время и желание, может поправишь?
Отсутствует
У меня запускается
"путь\к\редактору" %firefoxProfile%\Temp_ExternalEditor\custombuttons.%циферки%.js
Файл создается?
Да создаются и там файлы с кодами типа custombuttons.10848
Отредактировано bunda1 (30-08-2013 21:23:25)
Отсутствует
нашел еще небольшой глючок в совместимости с внешним редактором:
Там гораздо больше проблем, чем хотелось бы, к сожалению.
Загрузка модулей для раскрашивателя как-то ломает инициализацию оригинального редактора.
Исправление для внешнего редактора:
https://github.com/Infocatcher/Custom_B … 6094b9f9ea
Кривое исправление для конвертирования в base64:
https://github.com/Infocatcher/Custom_B … 0a88036a80
Новая версия пока только тут:
https://github.com/Infocatcher/Custom_B … nEditor.js (=> Raw)
Добавлено 30-08-2013 21:48:43
bunda1
Надо полагать, проблема с кириллицей или еще какими-нибудь не-ASCII-символами в пути к профилю.
Отредактировано Infocatcher (30-08-2013 21:48:43)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
bunda1
у меня такая же фигня, если папка пользователя в windows названа по-русски (и в XP и в Win7 одинаково)
если имя английскими буквами, то на XP все нормально работает, а на 7-ке нет возможности проверить
Отсутствует
bunda1
Можно попробовать так:
custom_buttons-0.0.5.6-tb+fx+sm.xpi\chrome\custombuttons.jar\content\custombuttons\editExternal.js
--- a/chrome/custombuttons/content/custombuttons/editExternal.js +++ b/chrome/custombuttons/content/custombuttons/editExternal.js @@ -215,7 +215,8 @@ createInstance(Ci.nsIProcess); process.init(file); var args = [filename]; - process.run(false, args, args.length); // don't block + var run = "runw" in process ? process.runw : process.run; + run.call(process, false, args, args.length); // don't block document.addEventListener("focus", checkfocus_window, true); return true; }
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
bunda1
Можно попробовать так:
Спасибо это работает
bunda1
Теперь ссылки открывает отлично, но перестал открывать картинки-ссылки, открывает просто картинку, например - nnm.me
function handleLongPress(e) { // LOG( e.originalTarget.localName ); if ( e.button > 0 ) return; if ( e.type == 'mousedown' && ["a", "b", "img"].indexOf( e.originalTarget.localName ) !== -1 ) { arguments.callee.timerLongPress = setTimeout(function() { gBrowser.selectedTab = gBrowser.addTab( XULBrowserWindow.statusTextField.label ); }, 500 ); } if ( e.type == 'mouseup' || e.type == 'dragstart' ) { window.clearTimeout( arguments.callee.timerLongPress ) }; }; addEventListener('mouseup', handleLongPress, false, gBrowser ); addEventListener('mousedown', handleLongPress, false, gBrowser ); addEventListener('dragstart', handleLongPress, false, gBrowser );
Отредактировано bunda1 (30-08-2013 22:55:14)
Отсутствует
Mishania
http://forum.mozilla-russia.org/viewtopic.php?pid=415988#p415988
Отсутствует
Помогите с решением следующего вопроса: Хочу добавить пункт в контекстное меню закладок
(function () { .... var copyTitleMenuItem = document.createElement("menuitem"); copyTitleMenuItem.id = "copyBookmark_copyTitle"; copyTitleMenuItem.setAttribute("label", "Копировать название"); copyTitleMenuItem.setAttribute("selection", "any"); copyTitleMenuItem.setAttribute("closemenu", "single"); copyTitleMenuItem.addEventListener("command", function () { copyBookmark_copy(); }); var copyMenuItem = document.getElementById("placesContext_copy"); copyMenuItem.setAttribute("label", "Копировать Url"); copyMenuItem.parentNode.insertBefore(copyTitleMenuItem, copyMenuItem); .... })();
Этот пункт появляется только в кнопке "Закладки"
Нужно чтобы этот пункт появился еще на страницах: chrome://browser/content/bookmarks/bookmarksPanel.xul
Причем Id("placesContext_copy") у всех одинаков в том числе еще на chrome://browser/content/places/places.xul, chrome://browser/content/history/history-panel.xul и в окне "Библиотека".
Я так понимаю, что при создании пункта находится только первый id и отдает значение - это в контекстном меню кнопки "Закладки".
Как поступать когда в разных документах одинаковые id?
И еще вопрос в продолжении этой темы. В окне "Библиотека" есть пункт меню "Экспорт в HTML". При нажатии на которую происходит экспорт всех закладок.
Может кто нибудь сделать кнопку, чтобы в контекстном меню закладок появился пункт - экспорт в HTML. Чтобы не все закладки, а любую закладку или папку можно было экспортировать?
Отредактировано Andrey_Krropotkin (31-08-2013 19:40:13)
Отсутствует
bunda1
В процессе эксплуатации кнопки Долгий клик ЛКМ
function handleLongPress(e) { // LOG( e.originalTarget.localName ); if ( e.button > 0 ) return; if ( e.type == 'mousedown' && ["a", "b", "img"].indexOf( e.originalTarget.localName ) !== -1 ) { arguments.callee.timerLongPress = setTimeout(function() { gBrowser.selectedTab = gBrowser.addTab( XULBrowserWindow.statusTextField.label ); }, 500 ); } if ( e.type == 'mouseup' || e.type == 'dragstart' ) { window.clearTimeout( arguments.callee.timerLongPress ) }; }; addEventListener('mouseup', handleLongPress, false, gBrowser ); addEventListener('mousedown', handleLongPress, false, gBrowser ); addEventListener('dragstart', handleLongPress, false, gBrowser );
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
А можно сделать кнопку для зумирования изображений колесиком? Т.е. открываешь в отдельной вкладке ссылку *.png, *.jpeg, *.gif, и как бы зажимается Ctrl. Вариант с зажатием правой кнопки мыши в FireGestures не подходит, там жесты, к которым слишком привык за множество лет.
Отсутствует
При добавлении кнопок (при помощи CustomButtons), создающих пункты в контекстном меню, они собственно не создаются. Firefox 23.0.1 список расширений:
Все расширения отключать пробовал. CustomButtons обновлял.
К примеру Context translate.
Отредактировано CemKey (01-09-2013 15:13:00)
Отсутствует
CemKey
Нестандартная тема, стили?
Ах, да, попробуйте отключить другие кнопки (убрать их с панелей и перезапустить FF) может они просто конфликтуют между собой...
Отредактировано Zaycoff (01-09-2013 17:49:26)
Отсутствует
Подскажите, есть ли кнопка перехода к окну (процессу/программе)? Например, читаю документ в Word. Нажал ссылку, перешёл в FF, посмотрел, теперь хочу вернуться в Word к открытому документу. Кнопка запуска внешнего приложения запустит Word с пустым документом, а надо вернуться к открытому. Или читаю почту в Outlook. Запуск кнопкой "outlook.exe /recycle" или "outlook.exe /recycle /select outlook:inbox" откроет запущенный Outlook, но не вернёт меня в то место, где я был. Т.е. по сути нужна кнопка, аналогичная системным клавишам Alt+Tab или Win+Tab, но с возможностью прописать в неё конкретное окно/программу. А если б было возможно по ПКМ на кнопке выбирать программы из списка (которые я предварительно занёс в коде кнопки), было б вообще здорово!
Отсутствует
проявилась такая особенность, есть ссылки типа , "span" , добавил для себя в код, чтобы тоже открывал долгим кликом, но так же есть и текст на страницах под "span", как только хочу выделить текст, тут же срабатывает открытие новой вкладки, можно сделать чтобы при выделении текста кнопка не срабатывала.
А пример ?
function handleLongPress(e) { // LOG( e.originalTarget.localName ); if ( e.button > 0 ) return; if ( e.type == 'mousedown' && ["a", "b", "img"].indexOf( e.originalTarget.localName ) !== -1 ) { arguments.callee.timerLongPress = setTimeout(function() { var sel = document.commandDispatcher.focusedWindow.getSelection().toString(); if ( sel == '' ) { var theBox = document.commandDispatcher.focusedElement; if ( theBox && (theBox.type == "text" || theBox.type == "textarea") ) { var startPos = theBox.selectionStart; var endPos = theBox.selectionEnd; var sel = theBox.value.substring(startPos, endPos); } } if ( sel !== '' ) return; gBrowser.selectedTab = gBrowser.addTab( XULBrowserWindow.statusTextField.label ); }, 500 ); } if ( e.type == 'mouseup' || e.type == 'dragstart' ) { window.clearTimeout( arguments.callee.timerLongPress ) }; }; addEventListener('mouseup', handleLongPress, false, gBrowser ); addEventListener('mousedown', handleLongPress, false, gBrowser ); addEventListener('dragstart', handleLongPress, false, gBrowser );
Отредактировано bunda1 (01-09-2013 22:48:44)
Отсутствует
А пример ?
Если в код добавить "span" чтобы открывал подобные ссылки(попадаются подобные на YouTube) и выставить время срабатывания 100-150 ms(больше для меня не комфортно), то например здесь:
P.S. И ещё, можно как-то запретить открытие пустых вкладок ?
Даже при коротком клике по ссылке стала открываться дополнительная вкладка.
http://rusfolder.net/files/37807262
Отредактировано villa7 (02-09-2013 19:09:57)
Лучше спросить у знающих - чем лезть не зная.
Отсутствует