Здравствуйте.
Использую FF 55.0a1 Portable Nightly.
После установки Сustom Buttons внизу появилась строка
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" , скрин: https://goo.gl/hLM6j3
Как это лечить?
Dumby , большое спасибо!
;)
Приветствую!
Друзья, а конструкция для вставки текста в место курсора больше не работает? Какая ее замена?
Использовал эту на ФФ тридцатых версий. На ФФ 55 не хочет.
var text = 'My text to insert'; var cmd = "cmd_insertText"; var controller = document.commandDispatcher.getControllerForCommand(cmd); if(controller && controller.isCommandEnabled(cmd)) { controller = controller.QueryInterface(Components.interfaces.nsICommandController); var params = Components.classes["@mozilla.org/embedcomp/command-params;1"] .createInstance(Components.interfaces.nsICommandParams); params.setStringValue("state_data", text); controller.doCommandWithParams(cmd, params); }
Проблема исчезла сама по себе. :cool:
AlexandrDa пишетА у меня обратный вопрос: как скрыть все дополнения?
если не прокатит тогда в userchrome.css
Очень оперативно. Спасибо!
Здравствуйте, форумчане
А у меня обратный вопрос: как скрыть все дополнения?
AlexandrDa пишетв данном случае по средней кнопке они не открываются в новой вкладке.
Т.е. как не открываются в новой вкладке?
http://i.imgur.com/ggsFvMWs.jpg
У меня Tab Mix Plus. там картинка немного другая. Но там есть нужный пункт.
Спасибо!
AlexandrDa пишетКак сделать, чтобы такие окна содержали мои кнопочки?
Открывать их в новой вкладке.
в данном случае по средней кнопке они не открываются в новой вкладке.
приходится делать лишнее действие с копированием ссылки и вставки ее в основное окно
Всем привет.
Столкнулся с редкой но неприятной ситуацией.
Есть сайт
AlexandrDa
c урл это как пример
если ты можешь менять код странички то проще добавить туда какой нибудь тэг со своим ид
скажем в самом низу
<span id='mycomand' title='clearcache'></span>
в кнопке ставишь листенер на загрузку страницы
как загрузилась ищешь на страничке элемент с ид mycomand
если он есть то либо сразу выполняешь очистку кэша либо получаешь значение title и в зависимости от того что в нём выполняешь соответствующие команды
вот пример обработки.Выделить кодКод:
var mc=window.content.document.getElementById('mycomand'); if (mc!==null){alert(mc.title)}else{ var pc=content.document.body.innerHTML; var nn=pc.toString(); var nn=nn+"<span id='mycomand' title='clearcache'></span>"; content.document.body.innerHTML=nn; alert("тэг отсутствовал.добавили жмем ок и смотрим"); var mc=window.content.document.getElementById('mycomand'); alert(mc.title) }
Все получилось, шеф! Мои благодарности! :beer:
…Dumby пишетА в чём разница ?
посмотрел внимательней на твой код сравнивая со своим..
мдя.. как всетаки сильно запись влияет на восприятие.. действительно тоже самое... только вот смотрю в твой код и вижу фигу,то бишь не втыкаю что там и как.:dumb:AlexandrDa пишетСкажите, а можно ли запускать фрагменты кода экстеншенов из веб-страницы?
Например, я загружаю определенную страницу, и все кукизы удаляются.неа у страницы прав нет.
но можно сделать так
ставим на страничку какуюто метку и раширением или кнопкой отслеживаем её наличие если метка есть то запускаем нужный код.
тут есть вариант со слежением за урл
Спасибо за оперативный ответ! Практически что надо. Один момент: я переходу на страницу из формы и нужно очистить куки. Передаю в строке #1 , на который реагирует вышеприведенный код. Но в адресе все равно остается #1, которая к тому же реагирует на аякс-изменен
…Всем привет!
Скажите, а можно ли запускать фрагменты кода экстеншенов из веб-страницы?
Например, я загружаю определенную страницу, и все кукизы удаляются.
Я пока не знаю, как создавать временный объект.
Кто справится - код в студию.
AlexandrDa пишеткак в кнопке сделать include (или append) внешнего js-файла по ссылке chrome://browser/content/sanitize.js ?
https://developer.mozilla.org/en-US/doc … riptLoader
Только не стоит все подряд в главное окно загружать – лучше использовать временный объект.
Похоже на правду!
Обобщая вышесказанное, получил следующий код. Тестируем, пишем результаты:
[code]
/*CODE*/
var mainLoader =
Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader);
const url = 'chrome://browser/content/sanitize.js';
mainLoader.loadSubScript(url);
if(!com) var com={};
if(!com.youpinadi) com.youpinadi={};
if(!com.youpinadi.clearHistory) com.youpinadi.clearHistory={};
com.youpinadi.clearHistory = {
clearHistory: function()
{
let s = new Sanitizer();
try
{
s.clearItem('history'
А кто-нибудь знает, как в кнопке сделать include (или append) внешнего js-файла по ссылке chrome://browser/content/sanitize.js ?
Если взять его содержимое и замиксовать с кодом из http://forum.mozilla-russia.org/viewtop … 67#p606267 , то все работает.
Привожу полный код кнопки на удаление истории:
[spoiler][code]
function Sanitizer() {}
Sanitizer.prototype = {
// warning to the caller: this one may raise an exception (e.g. bug #265028)
clearItem: function (aItemName)
{
if (this.items[aItemName].canClear)
this.items[aItemName].clear();
},
canClearItem: function (aItemName)
{
return this.items[aItemName].canClear;
},
prefDomain: "",
getNameFromPreference: function (aPreferenceName)
{
return aPreferenceName.substr(this.prefDomain.length);
},
/**
* Deletes privacy sensitive data in a batch, according to user preferences
*
* @returns null if everything's fine; an object in the form
* { ite
AlexandrDa пишетКак я написал выше, я нашел рабочий код (для ФФ 19). Можно его добавить в раздел Custom Buttons.
Код не работает:
Выходит, что он запускается только с установленным плагом https://addons.mozilla.org/ru/firefox/addon/clear-history/
Как я написал выше, я нашел рабочий код (для ФФ 19). Можно его добавить в раздел Custom Buttons.
Благодарю за такой развернутый ответ
За это время расковырял какой-то плагин и вытащил этот код, который также работает:
/*CODE*/ if(!com) var com={}; if(!com.youpinadi) com.youpinadi={}; if(!com.youpinadi.clearHistory) com.youpinadi.clearHistory={}; com.youpinadi.clearHistory = { clearHistory: function() { let s = new Sanitizer(); try { s.clearItem('history'); } catch(err) { alert('There was an error while clearing your history'); } } } com.youpinadi.clearHistory.clearHistory()
Всем привет
Существует ли код для очистки всей истории посещений?
Среди присутствующих я нашел только Clear Cache, но историю посещений она не трогает.
В продолжение темы о заполнении полей форм: как на счет зависимых списков и джаваскрипт-событий? Я пока не экспериментировал плотно с этим, но предполагаю, что это отдельная нетривиальная задача.
там всё есть. смотри подборку работа с текстом
Да, точно! Из-за обилия информации я не изучил эту ветку. Благодарю! :)
И я практически разобрался со своей первоначальной задачей. Но она начинает работать со второго клика.
Рассказываю подробнее.
Понравился мне код (http://forum.mozilla-russia.org/viewtop … 66#p576766):
[code]
меню(1 вариант) пример(в инициализацию) (удалите отмеченные комментарии для корректной работы)
var menu =
<menupopup xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
oncommand="this.parentNode.getselvalue(event)">
<menuitem value="Значение1" label="Текст пункта меню 1"/>//удалить! -вся строка пункт меню добавляется копированием ниже, label- текст пункта меню,value - значение которое будет передаваться при выборе
<menuitem value="Значение2" label="Текст пункта меню 2"/>
<menuseparator/> //удалить! - разделитель
<menuitem value="Значение3" label="Текст пункта меню
AlexandrDa
кидаем это в секцию код, прокручиваем страницу форума вверх чтоб видеть поле поиска
жмём на кнопку смотрим результат
аналогичным способом можно указать несколько полей одновременно.Выделить кодКод:
alert("первый способ"); window.content.document.getElementById('search-input').value="ololo"; alert("второй способ"); var sf=window.content.document.getElementsByTagName('input'); for (var i = 0; i < sf.length ; i++){ if (sf[i].name=="keywords"){sf[i].value="trololo"}; }; alert("третий способ"); var url="https://sendsms.megafon.ru/"; getBrowser (). selectedTab = getBrowser (). addTab (url); alert("Дождитесь открытия страницы.пример вставки нескольких значений"); window.content.document.getElementById('addr').value="12345"; window.content.document.getElementById('message').value="Пример вставленного текста, а также установившегося чекбокса ниже"; window.content.document.getElementById('transliterate').checked=true;
Круто!
А как, чтобы текст вставля
AlexandrDa
а зачем такой извращённый способ вывода? или предполагается потом кликать на пункты вызывая какието действия?
если кликать не требуется то есть варианты с тултипом, со всплывающим сообщением, можно выводить текст прямо на кнопку
если нужен клик то попробую глянуть что там можно сделать
А есть где-нибудь код, аналогичный этому http://forum.mozilla-russia.org/viewtop … 57#p428857 , но без меню, а с одной переменной, которая будет вводиться в поле формы?
В моем случае, скорее всего, кнопка с меню на основе XML инициализируется единожды и более не подлежит изменениям. Поэтому пункты меню априори не могут вставлять другой текст, чем тот, который появился после инициализации.
Поэтому остается вариант установки ряда кнопок, каждая вставляет свой текст.
Квадратики, которые я скриншотнул в посте http://forum.mozilla-russia.org/viewtopic.php?pid=605276#p605276 возникают при повторном объявлении одной и той же функции, что фактически означает ошибку.