mokujin
ну очевидно же вставить в цикл условие которое проверяет сначала наличие нужных атрибутов у элемента а потом их значение
element.hasAttribute(attName);//true or false
element.getAttribute(attributeName);
зы для оптимизации можно сначала запомнить атрибуты и стиль нужных элементов а потом пройдя по всем вернуть их назад.
я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3
Отсутствует
Как сделать исключения для этого. Вот перекрашиваю все элементы страницы. А , допустим, нужно один или несколько элементов исключить. Известны их "названия" id или class.
Можно как-нить сделать исключение.Выделить кодКод:
var elem = content.document.getElementsByTagName('*'); for (var i = 0; i < elem.length; i++) { elem[i].style.backgroundColor = "#FFFF00"; };
Эсли нужно исключить один элемент:
if ( elem[i].getAttribute('id') != 'тут id елемента' ) elem[i].style.backgroundColor = "#FFFF00";
Эсли нужно исключить несколько элементов:
if ( ["id1", "id2", "id2"].indexOf(elem[i].getAttribute('id')) ==-1 ) elem[i].style.backgroundColor = "#FFFF00";
Отсутствует
bunda1
Здравствуйте. Перестала работать кнопка поиска по сайту на FF 52 и "CB fixed 3"
// Настройка функций кликов мыши для кнопки ..................................... this.onclick = function(e) { if ( e.button == 0 ) { if ( getSelect() ) { var text = getSelect(); } else { var value = custombuttons.promptBox('Поиск по сайту в Google', 'Bведите текст ....'); var text = value[0] ? value[1] : false; if ( text == false ) return; } searchInWebsite( text ); } if ( e.button == 1 ) searchInWebsite( gClipboard.read() ); }; /* Запускает поиск по сайту в Google текста который передан как аргумент при вызове функции ...............................................*/ function searchInWebsite( text ) { var text = escape( convertFromUnicode("UTF-8", text) ); var url = content.document.domain; var url = encodeURIComponent( url ); var url = "http://www.google.com/search?as_q=" + text + "&as_sitesearch=" + url; gBrowser.selectedTab = gBrowser.addTab( url ); }; /* Функция отдаст выделенный текст из страницы или текстового поля, если текст не выделен отдаст 'false' ...........................................*/ function getSelect() { // выделенный текст из страницы .... var selection = document.commandDispatcher.focusedWindow.getSelection().toString(); // выделенный текст из текстового поля .... if ( selection == '' ) { var theBox = document.commandDispatcher.focusedElement; if ( theBox && (theBox.type == "text" || theBox.type == "textarea") ) { var startPos = theBox.selectionStart; var endPos = theBox.selectionEnd; var selection = theBox.value.substring(startPos, endPos); } }; // убираем пробелы с обоих концов текста .... if ( selection !== '' ) var selection = selection.toString().replace(/^\s+|\s+$/g,""); return ( selection == '')? false: selection; }; // Подсказка для кнопки ............................................................. this.tooltipText = "Поиск по сайту \nЛ: Поиск выделенного или введённого текста \nС: Поиск текста из буфера обмена \nП: CB меню";
Отсутствует
bunda1
Здравствуйте. Перестала работать кнопка поиска по сайту на FF 52 и "CB fixed 3"
Отсутствует
Ребят, благодарю! Рукужму
Я фигню_неправильную пробовал, из головы, типа (НЕ правильный код)
var elem = content.document.getElementsByTagName('*'); var ex = content.document.getElementsByTagName('player'); for (var i = 0; i < elem.length; i++) { if(elem != ex) { elem[i].style.backgroundColor = "#FFFF00"; } };
upd. еще раз благодарю, парни.
Дошло сейчас, что видать я "не туда хочу".
Есть жеж зависимости(или как оно правильно) у элементов. Если закрасить вышестоящий , то закрасится и его "детеныш". Покрасить это для экспериментов, в конечном результате хотел убирать со страницы "всё_что_не_видеоплеер" (elem.style.display="none"). Дошло, что так просто нельзя это.
Есть кнопка Infocatcher наз-ся "Detach Tab". Открепляет вкладку голую, без адреса, панелей и проч. Отлично! А я хотел дописать туда сразу и код убирать_все_что_не_видеоплеер для нужных сайтов.
Нужно наверно, зная нужный id, например "#video-player" , брать всю цепочку вверх и их тоже исключать. Но это сложно для мя.
Есть похожее в другой кнопках (AttributeInspector и Delete Element) , узнать элемент выше искомого и так до начала... буду искать и пробовать.
Отредактировано mokujin (09-03-2017 22:44:43)
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
Отсутствует
Ki_rrrilll пишетК сожалению проблемы с кодировками как раз и получились. А какие еще есть способы?
Выделить кодКод:
var path = "C:\\Documents and Settings\\Desktop\\Save.txt"; var text = custombuttonsUtils.readFile(path); var utf8Converter = Cc["@mozilla.org/intl/utf8converterservice;1"].getService(Ci.nsIUTF8ConverterService); var text = utf8Converter.convertURISpecToUTF8(text, "UTF-8"); alert(text);
bunda1
А это работает отлично!
Большое спасибо!
Отсутствует
Помогите пожалуйста написать кнопку (у меня не получилось) для автоматической вставки выбранного изображения на хостинг http://imageban.ru/ с последующим получением HTML кода картинки (если это вообще возможно).
Отсутствует
Можно сделать так, что бы пункт в контекстном меню появлялся на определенном домене, с возможностью редактирования списка доменов? Домены: www.kinopoisk.ru; www.fast-torrent.ru; rutracker.org; nnmclub.to
Оригинал кнопки
var path = "X:\\SimpleTV\\tv.exe"; this.onclick =e=> { if ( e.button == 0 ) play(content.location.href, "-open"); }; self.image = "moz-icon://file://" + path; var playerName = path.split("\\").pop().replace(".exe",""); self.label = "Открыть в " + playerName; var contextMenu = document.getElementById("contentAreaContextMenu"); var menuitem = contextMenu.insertBefore(document.createElement("menuitem"), document.getElementById("context-sep-open")); menuitem.setAttribute("label", "Открыть в SimpleTV"); menuitem.setAttribute("class", "menuitem-iconic"); menuitem.setAttribute("image", "moz-icon://file://" + path); menuitem.onclick =e=> play(gContextMenu.getLinkURL(), "-open"); addEventListener("popupshowing", ()=> menuitem.hidden = !gContextMenu.onLink, false, contextMenu); addDestructor(()=> menuitem.remove() ); function play(link, param) { var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); file.initWithPath(path); process.init(file); process.run(false, [param, link], 2); }; self.tooltipText = "Л: Открыть видео в " + playerName;
Отредактировано oleg.sgh (10-03-2017 07:18:12)
Отсутствует
oleg.sgh
И Ютуб конечно!
Как по мне, просмотр ютуба в смпл не самый лучший вариант
Открыть видео в PotPlayerMini
Если будет шаблон с доменами то, наверное, добавить/удалить домен не составит труда даже не особо сведущими в коде
Отсутствует
Вопрос ко всем , кто в теме, и в первую очередь, к уважаемому bunda1
После обновления до 50ESR кнопка Menuitem hider стала глючить, то работает, то нет.
Особо заметил, после открытия любого всплывающего окна - авторизация итд
После перегруза - все ОК
Отсутствует
Infocatcher
В FF 55.0a1 опять сломали консоль, base64-конвертер ...
CustomButtonsService.js
var supportsArray = "@mozilla.org/supports-array;1" in Components. classes; function makeSupportsArray () { var array = supportsArray ? Components. classes ["@mozilla.org/supports-array;1"]. createInstance (Components. interfaces. nsISupportsArray) : Components. classes ["@mozilla.org/array;1"]. createInstance (Components. interfaces. nsIMutableArray); var elt; for (var i = 0; i < arguments. length; i++) { elt = Components. classes ["@mozilla.org/supports-string;1"]. createInstance (Components. interfaces. nsISupportsString); elt. data = arguments [i]; supportsArray ? array. AppendElement (elt) : array. appendElement (elt, false); } return array; }
editor2.js
arrayInterface: "@mozilla.org/supports-array;1" in Components. classes ? Components. interfaces. nsISupportsArray : Components. interfaces. nsIMutableArray , setEditorParameters: function (param) { var editorParameters = param. wrappedJSObject. editorParameters; //if (editorParameters instanceof Components. interfaces. nsISupportsArray) { if (editorParameters instanceof this. arrayInterface) { ... observe: function (oSubject, sTopic, sData) { var link = "custombutton://buttons/" + this. param. windowId + "/update/" + this. param. id; var topic = sTopic. replace (this. notificationPrefix, ""); switch (topic) { case "updateImage": if ((sData == this. param. id) || (sData == this. tempId)) { //var array = oSubject. QueryInterface (Components. interfaces. nsISupportsArray); var array = oSubject. QueryInterface (this. arrayInterface);
Отсутствует
Всё потому, что выпилили nsISupportsArray. Пришлось править.
О, круто, а я пока только успел посмотреть, что снова отвалилось всё.
Я было попробовал оставить только nsIMutableArray, но в старых версиях он не наследует от nsIArrayExtensions (которого тупо нет) и не умеет в GetElementAt().
Я немного посамовольничал, но суть все та же. Спасибо.
custom_buttons-0.0.5.8.9-fixed4.xpi | custom_buttons-0.0.5.8.9-fixed4-signed.xpi
+ http://custombuttons.sourceforge.net/fo … 176#p54176
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Я немного посамовольничал, но суть все та же. Спасибо.
custom_buttons-0.0.5.8.9-fixed4.xpi | custom_buttons-0.0.5.8.9-fixed4-signed.xpi
+ http://custombuttons.sourceforge.net/fo … 176#p54176
нам нужно ставить новые обновленные версии?
Отсутствует
нам нужно ставить новые обновленные версии?
Лучше поставить.
Хотя, конечно, конкретно это исправление влияет только на Firefox 55.0a1+.
И еще была ошибка, проявлявшаяся в совсем старых версиях (я не стал проверять, какие версии были затронуты).
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Лучше поставить.
В этой версии не работает "Копировать код в буфер", в отличии от этой, за которую вам огромное спасибо!
Отсутствует
В этой версии не работает "Копировать код в буфер"
Не воспроизводится. Может, расширение какое мешает?
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Господа, после обновления до версии 52, перестали работать все кнопки.
Помогите, вернуть Custom Buttons в рабочее состояние
Отсутствует
Господа, после обновления до версии 52, перестали работать все кнопки.
Помогите, вернуть Custom Buttons в рабочее состояние
http://custombuttons.sourceforge.net/fo … 176#p54176
Добавлено 16-03-2017 19:21:59
После обновления до 50ESR кнопка Menuitem hider стала глючить, то работает, то нет.
Особо заметил, после открытия любого всплывающего окна - авторизация итд
После перегруза - все ОК
Ни как не могу увидеть проблему, нужен пример.
Отредактировано bunda1 (16-03-2017 19:21:59)
Отсутствует
Приветствую! А можно эти скрипты "портировать" на CB?
http://userscripts-mirror.org/scripts/show/100637
http://userscripts-mirror.org/scripts/show/58720
Отсутствует
Подскажите, пожалуйста, почему не закрывается файл через 3 сек:
var file = Services.dirsvc.get("ProfD", Components.interfaces.nsIFile); file.append("1.txt"); custombuttonsUtils.writeFile(file.path,convertFromUnicode("UTF-8","Слово")); file.launch(); setTimeout(function(){file.close()},3000);
Отредактировано dedfor (17-03-2017 06:09:09)
Отсутствует
nafanja333 пишетГоспода, после обновления до версии 52, перестали работать все кнопки.
Помогите, вернуть Custom Buttons в рабочее состояние
Спасибо за информацию, помогло
Кто бы еще подсказал как эти дебильные проценты маштабирования из строки адреса убрать....
Отредактировано nafanja333 (17-03-2017 10:59:53)
Отсутствует
Кто бы еще подсказал как эти дебильные проценты маштабирования из строки адреса убрать....
https://forum.mozilla-russia.org/viewto … 94#p729794
Или Classic Theme Restorer
Отсутствует
Подскажите, пожалуйста, почему не закрывается файл через 3 сек:
Выделить кодКод:
var file = Services.dirsvc.get("ProfD", Components.interfaces.nsIFile); file.append("1.txt"); custombuttonsUtils.writeFile(file.path,convertFromUnicode("UTF-8","Слово")); file.launch(); setTimeout(function(){file.close()},3000);
Потому что не такого метода file.close() для nsIFile, тут надо наверно надо закрывать текстовой редактор как процесс.
Отсутствует