для режима [firefox] search-config-v2
Совсем разблокировать search-config-v2 ?
Ужаснись тогда что получится.
Только бэкап сначала сделать не забудь.
[spoiler][code]async cso => {
var defaultEngine = "vatera";
var order = ["rakuten", "google", "bing", "eudict", "readmoo", "ddg",];
var chrome = [], push = (url, mime, src, rep) => {
var code = Cu.readUTF8URI(Services.io.newURI(url)).replace(src, rep);
var newURL = `data:${mime};charset=utf-8,` + encodeURIComponent(code);
chrome.push(["override", url, newURL]);
}
push(cso, "application/json", /https(?!\?)/g, "$&?");
push(
"chrome://browser/content/parent/ext-search.js", "application/x-javascript",
"await Services.search.getVisibleEngines()", "($&).filter(e => !e._metaData?.hideOneOffButton)"
);
var uri = Services.io.getProtocolHandler("resource")
.QueryInterface(Ci.nsIResProtocolHandler).getSubstitution("");
var ams = Cc["@mozilla.org/addons/addon-manager-startup;1"].getService(Ci.amIAddon
Что-то не так с этим
кодомВыделить кодКод:
` var txt = dt.getData("text/plain"); var url = dt.getData("text/x-moz-url-data"); if (url) this.val = url, this.txt = dt.getData("text/x-moz-url").split("\n")[1]; else if (!txt) return; try { this.val = new URL(txt.trim()); } catch { this.val = txt; if (!this.textLinkRe.test(txt)) this.type = this.text;
Там используется экземпляр URL как таковой,
но, по дороге, прицепили на него вызов строкового метода includes()
поэтому следует привести его к строке, например, new URL(txt.trim()).href
на сайте vk.com
Но я-то сайт обрести не могу.
Вот если бы его файлом, чтобы тоже воспроизводилось,
но, даже не знаю, возможно ли такое.
у тебя на эту версию есть рабочий вариант?
У меня такой.
…Подскажите, нет ли нечто подобного , типа Dom inspectora для Хрома ?
Не могу подсказать.
У меня нет никакого Хрома, и я абсолютно ничего о нём не знаю.
если её не было
Обычно, существование настройки проверяется
вызовом метода Services.prefs.getPrefType()
Для несуществующей настройки
результатом вызова будет Services.prefs.PREF_INVALID
Однако, поскольку ui.prefersReducedMotion дефолтно не существует,
можно просто проверять Services.prefs.prefHasUserValue()
Вобщем, я типа о чём-то таком
//... var p = "ui.prefersReducedMotion"; var {matches} = matchMedia("(prefers-reduced-motion)"); if (matches) { var has = prefs.prefHasUserValue(p); if (has) var was = prefs.getIntPref(p); prefs.setIntPref(p, 0); } await d.refresh(d.succeeded = true); if (matches) has ? prefs.setIntPref(p, was) : prefs.clearUserPref(p);
как посмотреть объект Java-Script (например Свойства для кнопки) без расширения DOM-Inspector ?
Эээ, в консоли.
console.log(button);
это ничего не изменило
должно стать всегда: текст - чёрный фон - серый
А, цвет выделенного в деревьях. Ну как-то так
treechildren::-moz-tree-row(selected) { background-color: #d4d0c8 !important; } treechildren::-moz-tree-cell-text(selected) { color: black !important; }
где эти "настройки контентских инструментов"?
Где-то здесь.
- мой вопрос "зачем?" был адресован словам "Верни ... расширения" (словам, которые сбили с толку)
- для меня "расширения" - это то, что мной было удалено: уже 14 штук из 16
Верно. Я сказал верни не в повседневный браузер, а «в тестовый экземпляр лисы».
Он нужен не чтобы на него любоваться, и не как предмет гордости отсутствием расширений,
а чтобы смотреть (в нём) как устроен браузер, для экспериментов и перенесения положительных
результатов в повседневный браузер.
А то получается — не люблю расширения, поудаляю везд
В 85 DOM Inspector странно себя ведет? Нет обновы?
Если имеется в виду Bug 1525737 - Remove XUL grid implementation, тогда есть
-7.0.9-fx-bootstrap.xpi
Хочу прямо в dom inspector стиль добавить
Можно разделить стиль на две части.
Первую, состоящую из правил с селекторами начинающимися на #trDOMTree добавить в
%DOMi%\chrome\inspector\skin\classic\inspector\viewers\dom\dom.css
Вторую, состоящую из правил с селекторами начинающимися на #olAttr добавить в
%DOMi%\chrome\inspector\skin\classic\inspector\viewers\domNode\domNode.css
Следует отметить, что это href'ы xml-stylesheet'ов (ProcessingInstruction),
поэтому parsingMode стилей будет "author" (AUTHOR_SHEET), а значит,
если есть более забористые внешние стили, то могут помешать. Но попробуй.
кое что нашёл
-7.0.7-fx-bootstrap_xpi
И, позволю себе напомнить
Так же, раз уж речь зашла об иконках, то стоит отметить,
что если положить (и назвать) иконку по пути (разумеется, говорю только за Win7)
%Папка_где_лежит_firefox.exe%\browser\chrome\icons\default\winInspectorMain.ico
то окна DOMi, сответственно, будут с этой иконкой.
Можно сделать чтобы работал во всех CustomizableUI.createWidget? просто везде подставлять "custombuttons.initAutoPopup(self);"
Ну, если собрался удалить Custom Buttons (или, даже если нет), то замени
custombuttons.initAutoPopup=
на
ucf_custom_script_win.initAutoPopup=
еще знать надо куда закем, и что вместо "self" ставить
Да просто (тогда) допиши в код кнопки, в какое-нибудь top-level место
(например, в самый конец) ucf_custom_script_win.initAutoPopup(this);
Как изменить иконку "DOM Inspector" в about:addons
Смотри в сторону object-position/background хака.
Плюс избегать data: адресов, поскольку about:addons целиком инфицирован csp.
Или, внеси свой вклад:
выложи предпочитаемую иконку (32×32, можно несколько, на выбор),
и, если мне не непонравится, тогда попробую втащить её внутрь расширения
и выложить обновку, к тому же, 7.0.6, наверно, уже подраск
Infocatcher
Насчёт Source Editor'а и Firefox 73.
В нелокализированной версии покромсали editMenuOverlay.dtd
и там вместо <popupset>'а образуется <parsererror>, длиннющий такой,
больше двадцати тысяч пикселей.
По всему коду лазать не стал, записал всё про контекстное меню
отдельным блоком в if, а существующее задвинул в else.
Получилось не очень, «Найти ещё раз» находит не следующее,
а перескакивает через одно.
[spoiler][code] var SourceEditor = window.SourceEditor;
if(this.platformVersion >= 73) {
var psXUL = '<popupset id="sourceEditorPopupset">\
<linkset>\
<html:link rel="localization" href="toolkit/global/textActions.ftl" />\
</linkset>\
<menupopup id="sourceEditorContext"\
onpopupshowing="popupHandler(event.target)"\
oncommand="popupHandler(e
Да и в 73, на данный момент, работает.
А DOMi, ну давайте попробую скинуть.
[spoiler=DOMi-7.0.{4a1-5}-fx.js][code]// DOMi-7.0.{4a1-5}-fx.js
(async re => {
var gzip = "H4sIAAAAAAAACr19/XbbRpLv39I5eQcM955dKqEo4huQLXsS29nxrmPnxsns7PHxnYFISGJCEbwEZdnj0dPM2X0QP9ntql/1Bz5I0Zns9ZEJoNFdXd1dXV1dXVWYXq2r6/JkvqxX5XRTrU+m1XJTLjdOirl79a5cL4oP4/c3i0//9em/D83fIf/IvU71/d/2aiE3H5w7T/17WK8W882mXHvz2dlAPXyzrm7rcj3wpouirs8Gm/lmUc6OdbaBN+9J7KtSnvn279PP6LfxtK6dDjv8/fx6Va033s16MRwA0OmJU7D+Zb48AUavBSECMTh6cG/RDhbH5/PlbL68rDUEwj+hn0z9zw/v6DYI6CeUh4R+UjyEE/qhEQhD+onoJ6afRDLk6ieaqIdPfz+vqk29WRer8c9ue784fFesvT89e/nq6asnrx98oRJUEfU/ZlS+ODw4ODnxvrm59PwoSfN04h17Py3rmxW3dLqu6tqbVdN/XVc3K6+YVavNvFp6w2/n6/Kieu+l/ldHAuNqs1nVqj+uLsfX1V/ni0UxrtaXJ3J/PFU9sy4WJ+vy3ck0K4JpkBa+H2TTKJtMpv5FeTHNL4qL2SQJJlEZZeU0KAjy/MIbDjX+3pk3WBXruvxWdf7r4qJ8vVmr/lVktPSevvrue3q1Hq/W1abafFiVR4zbweZqXtO8MTkUmItiUZcP6HWpbjjbsC/fsry1kIdHR+OLaj0tny2L80X5p59e/OmbF8OjB1/waNKvP8Gk4XsaNJ/62qfO9mlo/ZR+aPR9GrtgcnhwpypX3fe0PFbA1D01uFit/liua+rqR6qPvb/9
Infocatcher
Упс, win, конечно же, проявил невнимательность.
ViewerRegistry.jsm — там rdf'ку читает fetch и отдаёт DOMParser'у, но грянул
Bug 467035 - <!DOCTYPE> ignores contentaccessible, leaks DTD strings and therefore browser UI locale
а у viewer-registry.rdf как раз такой DOCTYPE, с .dtd внутри.
Но если DOMParser попросить, вызвав forceEnableDTD(), то снова будет парсить.
-7.0.4a1-fx-bootstrap.xpi
обновилась утром ночнушка 69 и перестала работать CB, проверь пожалуйста
Это совершенно естественно. На ночнучшке невозможно чем-то таким пользоваться.
Только пытаться протащить до конца цикла, затем собирать под бету b3.
Но здесь, если я правильно понял, этот баг и в бету собираются засунуть, поэтому
custom_buttons-0.0.7.0.0.5a2-fx-paxmod.xpi
-7.0.3a1-fx-paxmod.xpi
и еще маленький вопрос по 67
Похоже addon.getResourceURI() сразу nsIJARURI стал отдавать, значит, наверно, так
[spoiler][code] if (uri.schemeIs("jar"))
uri = uri.spec
else {
var file = uri.QueryInterface(Ci.nsIFileURL).file;
uri = file.isDirectory() ? uri.spec : "jar:" + uri.spec + "!/";
пункт удалить кнопку, в консоли пишет TypeError: this.getElementsByAttribute is not a function
Да, есть такое. Не представляю откуда там this прописался.
Замени его на document
Ну или вот, свежак. Понятно, что считай ничто, но просто 69-я
так весело стартовала, что может интересно посмотреть.
Оценить масштаб отвала, чуток попрактиковаться в правке кнопок.
На специально созданом профиле, конечно же.
custom_buttons-0.0.7.0.0.5a1-fx-paxmod.xpi
custom_buttons-0.0.7.0.0.5a1-fx-bootstrap.xpi
на 67 перестал работать ваш исправленный инспектор Dom
Какое там исправленный. Так, затолкал кой-что обратно, как смог.
-7.0.2-fx-paxmod.xpi
[url=https://anonfile.com/hdL5H3sd
Infocatcher
Bug 1482389 - Convert TreeBoxObject to XULTreeElement
Таким образом слетели коды прокрутки в деревьях.
Сделал пока так, вроде работает
[spoiler][code] if(_nodePosition >= 0) {
/*
var tbo = viewer.mDOMTree.treeBoxObject;
var cur = tbo.view.selection.currentIndex;
var first = tbo.getFirstVisibleRow();
var visibleRows = tbo.height/tbo.rowHeight;
*/
if("nsITreeBoxObject" in Components.interfaces) {
var tbo = viewer.mDOMTree.treeBoxObject;
var visibleRows = tbo.height/tbo.rowHeight;
} else {
var tbo = viewer.mDOMTree;
var visibleRows = tbo.getPageLength();
}
var cur = tbo.view.selection.currentIndex;
Научите, пожалуйста, как сделать чтоб было как у Вас.
Наводишь, зажимаешь Ctrl и карабкаешься по DOM-дереву стрелкой вверх.
Сочетания клавиш:
Escape – отмена или отключить блокировщик всплывающих подсказок и меню
Ctrl+Up, Ctrl+Down – перейти к родительскому/дочернему узлу
Ctrl+Left, Ctrl+Right – перейти к предыдущему/следующему узлу
Ctrl+Shift+C – копировать содержимое всплывающей подсказки
Ctrl+Shift+W – исследовать объект window узла в DOM Inspector'e
Infocatcher
Спасибо за подтверждение, и за DOM Inspector, забрал.
Насчёт закладок на кнопки, у которых слишком длинный URL, наверно и раньше такое было.
Прошёлся по некоторым версиям, дошёл аж до Firefox 10.0
У меня везде либо ошибка, либо молча обрезает адрес (граница где-то FF 40/39).
когда фокус на findbarе, чтобы оставаться в рамках клавиатуры и не использовать мышку
Фокус на findbarе, вроде, не помеха для F3 и Shift+F3
Но если хочешь стрелками, то для стандартных findbar'ов,
которые ищут во вкладках, можешь попробовать, например, так
[spoiler][code]addEventListener("keypress", e => {
if (
gFindBarInitialized
&& (e.key == "ArrowUp" || e.key == "ArrowDown")
&& !e.ctrlKey && !e.shiftKey && !e.altKey //&& !e.repeat
&& document.activeElement.closest("findbar") == gFindBar
&& gFindBar._findField.getAttribute("status") != "notfound"
) {
e.stopPropagation();
gFindBar.onFindAgainCommand(e.key ==
немного оживил DOM Inspector:
dom_inspector
-2.0.16-fixed.xpi
Предположительно снова сломали (пустые панели).
document.querySelector(":-moz-devtools-highlighted"); на 57.0b4 возвращает null,
а на 58.0a1 (2017-09-29) образует ошибку
SyntaxError: ':-moz-devtools-highlighted' is not a valid selector
Возможно как-то связано с этим.
Закомментировал соответствующую строку и панели появились,
и, вроде, даже Flasher работает.
function Flasher(aColor, aThickness, aDuration, aSpeed, aInvert) { //document.querySelector(HIGHLIGHTED_PSEUDO_CLASS);
Что это?
Это папка-кверя.
При чем тут вообще
Притом, причём и content.document.defaultView.
Ни при чём. Это просто существует.
voqabuhe
Можно в DOM Inspector'е посмотреть.
Dumby, насчёт BookmarkingUI.onComman я конешно был курсе, но ...
Ну, вот так бы сразу и сказал. :)
[spoiler]Мне и самому не нравится такое отображение в DOM Inspector'е.
Но, если интересно, то открой
chrome://browser/content/browser.js
поиск:
var PlacesCommandHook = {
Я, кстати, не смог понять что хочет Кот.
Как думаешь, это что-то типа такого (набросок), или нет?
[code](({panel}, prefName) => {
cbu.isPref(prefName, PlacesUtils.unfiledBookmarksFolderId);
addDestructor(reason => reason == "delete" && Services.prefs.clearUserPref(prefName));
var popupshownFolderId = Services.prefs.getIntPref(prefName);
var handler = e => {
if (e.target != panel) return;
var id = PlacesUtils.bookmarks.getFolderIdForItem(StarUI._itemId);
if (e.type == "popupshown") {
popupshownFolderId = id;
return;
}
if (StarUI._actionOnHide || popupshownFolderId == id) return;
Services.prefs.setIntPref(prefNa
так↓
[spoiler][code]var folderName = "00_USO";
var parentFolderId = PlacesUtils.toolbarFolderId;
var folderId;
var parentFolder = PlacesUtils.getFolderContents(parentFolderId, true, false).root;
for(var ind = 0; ind < parentFolder.childCount; ind++) {
var child = parentFolder.getChild(ind);
if (child.title == folderName) {folderId = child.itemId; break;}
}
parentFolder.containerOpen = false;
if (!folderId) folderId = PlacesUtils.bookmarks.createFolder(parentFolderId, folderName, -1);
var dateString = new Date().toLocaleFormat("%Y-%m-%d %H:%M:%S");
var skipPrefixsList = [
"chrome://sstart/content/sstart.html",
"about:blank"
];
var subFolderId = PlacesUtils.bookmarks.createFolder(folderId, dateString, 0);
var ss = Cc["@mozilla.org/suite/sessionstore;1"].getService(Ci.nsISessionStore);
for(var tab of [...gBrowser.tabs]) {
tab.linkedBrowser.stop();
var uri = tab.linkedBrowser.currentURI;
skipPrefixsList.some(prefix => uri.spec.startsWith(
emlen
Наводишь Attributes Inspector на Панель меню > Закладки > Папка
Жмешь Ctrl+ЛКМ или СКМ. Откроется DOM Inspector.
В окне DOM Inspector'а, с правой стороны, Объект Javascript > _placesNode > itemId