Вопрос: а как можно узнать общее количество закладок?
Вот как-то так, наверное:
with(Components.classes["@mozilla.org/browser/nav-history-service;1"] .getService(Components.interfaces.nsPIPlacesDatabase) .DBConnection.mozIStorageConnection .createStatement('SELECT count(fk) FROM moz_bookmarks') ) { step(); alert(getInt32(0)); finalize(); }
Отсутствует
okkamas_knife
выяснилось что та же самая проблема у кнопки проверки онлайновым доктором вебом
Решение. Вместо
пишем
хотелось бы чтото типа функции в СВ которой в качестве аргументов отправляешь путь, урл и разные параметры для отправки формы типа
скрытый текстВыделить кодКод:
<input name="file" size="30" type="file"> <input name="user_id" value="45414" type="hidden"> <input name="user_name" value="okkamas_knife" type="hidden"> <input name="act" value="Upload" type="hidden"> <input value="Загрузить" type="submit">
и на выходе получаешь содержимое POST эапроса в переменную.
В Firefox4 что-то такое будет
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Скажите пожалуйста, можно ли сделать кнопочку, при клике на которую, нужное действие происходило бы через рандомное время (каждый раз разное), в пределах от 1 до 100 секунд. Действие допустим чтобы вылезало сообщение "ТЕКСТ".
Например кликнули через 23 секунды появилось это действие (сообщение)
потом кликнули действие выполнилось через 84 секунды
и так далее, рандомно, в заданных пределах.
Отсутствует
Скажите пожалуйста, можно ли сделать кнопочку, при клике на которую, нужное действие происходило бы через рандомное время (каждый раз разное), в пределах от 1 до 100 секунд. Действие допустим чтобы вылезало сообщение "ТЕКСТ".
Например кликнули через 23 секунды появилось это действие (сообщение)
потом кликнули действие выполнилось через 84 секунды
и так далее, рандомно, в заданных пределах.
var maxSeconds = 10; if (this. cbTimer && (arguments [0] != "timeout")) // если флаг таймера установлен, но время не вышло return; // ждем if (!this. cbTimer) // если флаг таймера не установлен { // устанавливаем таймер var seconds = Math. round (Math. random () * maxSeconds); var milliSeconds = seconds * 1000; this. cbTimer = true; setTimeout (arguments. callee. bind (this), milliSeconds, "timeout"); return; // и выходим } this. cbTimer = false; // сброс флага таймера // время вышло, делаем нужное alert ("ТЕКСТ");
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton, тут у кнопки на 4.0 баг: у 1 кнопки не открывается окно правки.
На остальных кнопках работает - а на этой нет.
Т.к. действие "скопировать в буфер" для неё тоже не работает, то цитирую строку из файла buttonsoverlay.xul
Отредактировано iDev.Pi (07-09-2010 00:53:55)
mzfx
Отсутствует
Пожалуйста люди дайте-
1)простую кнопку , при нажатии на которую выполняется ввод данных(пароль и логин который сохранен браузером) в формы и вход на сайт, по лкм, как кнопка Secure Login.
2)простую кнопку которая бы работала как клавиша Enter ,по лкм.
Отсутствует
iDev.Pi
В настройках расширения надо установить флажок "Отключить инициализацию кнопок", затем открыть новое окно приложения. В новом окне кнопка станет доступной для редактирования.
bunda1
2)простую кнопку которая бы работала как клавиша Enter ,по лкм.
В раздел "Код":
var evt = document. createEvent ("KeyEvents"); evt. initKeyEvent ( "keypress", true, true, null, false, // holds Ctrl key false, // holds Alt key false, // holds Shift key false, // holds Meta key evt. DOM_VK_RETURN, // presses a special key, @see http://mxr.mozilla.org/mozilla/source/dom/public/idl/events/nsIDOMKeyEvent.idl 0 // presses a normal key, e.g. "A".charCodeAt(0), ); if (document. activeElement. nodeName == "browser") gBrowser. contentDocument. activeElement. dispatchEvent (evt); else document. activeElement. dispatchEvent (evt);
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
mmihato
есть ли кнопка для того чтобы показать/скрыть статус бар?
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton,
Пользуюсь для Google Translate этой кнопкой. Как-то незаметно Google свой скрипт чуть подправили, переделал так:
var t = document. commandDispatcher. focusedWindow. getSelection (). toString (); if (!t) { var el = document. commandDispatcher. focusedElement; t = el && el. value. substring (el. selectionStart, el. selectionEnd) || ""; } var c = content.document.characterSet; var loc = content.location.href; getBrowser().loadOneTab( t ? "http://translate.google.ru/?text=" + t + "&hl=ru&langpair=auto|ru&tbb=1&ie=" + c : /^https?:\/\//i.test(loc) ? "http://translate.google.ru/translate?u=" + encodeURIComponent(loc) + "&hl=ru&langpair=auto|ru&tbb=1&ie=" + c : "http://translate.google.ru/?hl=ru", null, null, null, false /* load in background */, false );
Такой ещё вопрос: если в тексте встречается амперсанд, то ни кнопка, ни сам гугловский скрипт, текст после & не захватывают, возможно как то поправить?
Отсутствует
Deim0s
взгляните, вроде всё правильно?
Ничего подозрительного не вижу.
если в тексте встречается амперсанд, то ни кнопка, ни сам гугловский скрипт, текст после & не захватывают
Как это гугловский скрипт "не захватывает" ?
возможно как то поправить?
Можно записать
t = el && el. value. substring (el. selectionStart, el. selectionEnd) || ""; t = encodeURIComponent (t);
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
Как это гугловский скрипт "не захватывает" ?
Ну например: выделить мама & папа и перевести гугло-скриптом на английский, в форму перевода вставится только мама.
Можно записать...
Спасибо, работает.
Отсутствует
Deim0s
Спасибо, работает.
Я ошибся немного в предыдущем сообщении. encodeURI надо разместить в другой строке, иначе кодировка будет происходить не во всех случаях.
Надо
var t = document. commandDispatcher. focusedWindow. getSelection (). toString (); if (!t) { var el = document. commandDispatcher. focusedElement; t = el && el. value. substring (el. selectionStart, el. selectionEnd) || ""; } t = encodeURIComponent (t); var c = content.document.characterSet; var loc = content.location.href; getBrowser().loadOneTab( t ? "http://translate.google.ru/?text=" + t + "&hl=ru&langpair=auto|ru&tbb=1&ie=" + c : /^https?:\/\//i.test(loc) ? "http://translate.google.ru/translate?u=" + encodeURIComponent(loc) + "&hl=ru&langpair=auto|ru&tbb=1&ie=" + c : "http://translate.google.ru/?hl=ru", null, null, null, false /* load in background */, false );
Отредактировано Anton (11-09-2010 18:32:02)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton,
...иначе кодировка будет происходить не во всех случаях.
Видимо я до них не успел добраться .
Ещё раз спасибо.
P.S.
Потестировал:
В этом варианте, перестал работать перевод страницы целиком.
В предыдущем, да, из форм ввода переводит нормально, со страниц нет.
Отредактировано Deim0s (11-09-2010 17:43:36)
Отсутствует
В этом варианте, перестал работать перевод страницы целиком.
Не знаю, проверил раздельно на двух разных страницах на en.wikipedia.org, переводят все варианты.
Добавлено 11-09-2010 18:04:18
ps.: вот страницу https://developer.mozilla.org - не переводит. Но она и в "ручном" режиме не переводится.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
У меня с этим вариантом, и en.wikipedia.org, и все прочие страницы целиком, не может перевести:
ps.: вот страницу https://developer.mozilla.org - не переводит.
Ну по защищённому соединению никогда не переводили, как тут переведёшь.
Отсутствует
У меня с этим вариантом, и en.wikipedia.org, и все прочие страницы целиком, не может перевести:
Я делаю много ошибок сегодня. Должен быть либо encodeURI, либо encodeURIComponent, но не оба вызова вместе. Код исправил
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
iDev.Pi
вдруг удастся-таки пофиксить баг с незакрываемыми табами?
Возможно, ты не удалил кнопку с первым вариантом кода. Я у себя незакрывающихся вкладок со вторым вариантом не наблюдаю.
Всё оказалось куда прозаичней: эта кнопка конфликтует с дополнением Coral IE Tab. Можно её как-то подправить чтоб была совместима с ним? Или никак и дело в самом CIET?
Добавлено 13-09-2010 01:41:05
В настройках расширения надо установить флажок "Отключить инициализацию кнопок", затем открыть новое окно приложения. В новом окне кнопка станет доступной для редактирования.
Но это же чистейшей воды баг! А решение предложенное тобой - это просто метод избежания бага. На 4.0 этот баг с тем кодом, что я постил - воспроизводится всегда. Может попробуешь выяснить - какая функция или какое сочетаний функций вызывает этот баг? Там глядишь и само собой ясно станет как этот баг фиксить...
mzfx
Отсутствует
okkamas_knife
вроде как кнопка не кривая, по крайней мере её писал Infocatcher и после того как баг всплыл - он уже не раз смотрел её код.
Кнопка которая подвешивает фф и кнопка которая блокирует открытие меню редактирования только у этой кнопки - вещи абсолютно разные.
Можно составить кнопку, которая будет складывать числа до бесконечности и тем самым повесит лису - это не баг, так и должно быть, а вот если кнопка работает, но меню редактирования не открывается - это уже скорее баг дополнения.
Другой вопрос - решабельная ли проблема, я мало чего понимаю в кодинге и может быть анализатор кода это и правда задача не посильная, но ведь может оказаться, что где-то в коде дополнения просто запятая какая-нибудь по недосмотру пропущена, из-за неё баг и вылезает, и никаких анализаторов не надо.
А может это вообще баг не дополнения, а какой-нибудь функции лисы: тут ещё баг всплыл:
если создать кнопку и в инициализацию поместить этот код:
var dummy = function() {}; var progressListener = { onStateChange: dummy, onProgressChange: dummy, onLocationChange: function(aWebProgress, aRequest, aLocation) { setTimeout(function() { throw new Error(aLocation.spec); }, 0); }, onStatusChange: dummy, onSecurityChange: dummy }; gBrowser.addProgressListener(progressListener, Components.interfaces.nsIWebProgress.NOTIFY_LOCATION);
mzfx
Отсутствует
iDev.Pi
Но это же чистейшей воды баг!
Это особенность кнопки, она удаляет собственный атрибут "context". Я, пожалуй, добавлю восстановление атрибута по ctrl+alt+shift+right click (или что-то вроде того), но тогда кнопка "сломается" в другую сторону.
Вот исправленный код:
// TabCandy будет срабатывать по CTRL + ~ (или CTRL + `) window.addEventListener("keydown", function(e) { if(e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && e.keyCode == 192) // Ctrl+~ TabView.toggle(); }, true); // about:config, about:support, about:memory, etc. var menu = <menupopup xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:cb="http://xsms.nm.ru/custombuttons/" onclick="this. parentNode. handleClick (event);" oncommand="event.stopPropagation();"> <menu label="Фолдер1" image="не_работает"> <menupopup> <menuitem label="Итем1" class="menuitem-iconic" image="адрес_картинки" cb:url="открываемый адрес"/> <menuitem label="Итем2" class="menuitem-iconic" image="адрес_картинки" cb:url="открываемый адрес"/> <menuitem label="Итем3" class="menuitem-iconic" image="адрес_картинки" cb:url="открываемый адрес"/> </menupopup> </menu> <menu label="Фолдер2"> <menupopup> <menuitem label="google" class="menuitem-iconic" image="http://66.102.9.104/favicon.ico" cb:url="http://www.google.com"/> <menuitem label="yandex" class="menuitem-iconic" image="http://img.yandex.net/i/favicon.ico" cb:url="http://www.yandex.ru"/> </menupopup> </menu> <menuitem label="about:config" cb:url="about:config"/> <menuitem label="about:support" cb:url="about:support"/> <menuitem label="about:memory" cb:url="about:memory"/> </menupopup>; this. appendChild (custombuttonsUtils. makeXML (menu)); //this.removeAttribute("context"); this. oncontextmenu = function (e) { if ((e. button == 2) && !(e. ctrlKey || e. shiftKey || e. altKey || e. metaKey)) e. preventDefault (); }; this.onclick = function(e) { if(e.target != this) return; if(e.button == 2) { if(!(e.ctrlKey || e.shiftKey || e.altKey || e.metaKey)) this.lastChild.openPopupAtScreen(e.screenX, e.screenY, true); } }; this. orient = "horizontal"; this. handleClick = function (event) { var menuitem = event. target; var url = menuitem. getAttributeNS ("http://xsms.nm.ru/custombuttons/", "url"); if (event. button == 0) loadURI (url); else if (event. button == 1) gBrowser. addTab (url); this. open = false; };
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
спасибо за правку кода кнопки, теперь и правда работает как надо.
а не подскажешь, по поводу появляющихся на таббаре кнопок прокрутки - это не баг КБ?
и ещё, с последним найтли у меня чего-то 2 кнопки отвалились, не проходят инициализацию (висят как неактивные звёздочки), я так понимаю дополнение надо обновить, новая версия уже готова?
mzfx
Отсутствует