Во на какую базу данных кнопок умершего проекта CustomButtons2 наткнулся Custom Buttons. Может кому-нибудь будет полезна, или кого-нибудь вдохновит на создание новой, восстановление отвалившейся кнопки.
Отсутствует
lokiju
Нету и там.
Custom_Buttons/Merge_Custom_Buttons at master · Infocatcher/Custom_Buttons · GitHub собирает кнопки Custom_Buttons на панели справа от себя в свое меню
Отсутствует
Ki_rrrilll
скрытый текстВойдите или зарегистрируйтесь, чтобы увидеть скрытый текст.
okkamas_knife я пробую выполнить этот код и получаю ошибку
function expBookmarks(path,filename){ var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); file.initWithPath(path); file.append(filename); var exporter = Components. classes ["@mozilla.org/browser/places/import-export-service;1"]. getService (Components. interfaces. nsIPlacesImportExportService); exporter. exportHTMLToFile (file); var msgok="Закладки экспортированы в "+path+filename; custombuttons.alertSlide("Экспорт закладок",msgok ); } expBookmarks("C:\\tmp\\","test.html");
Components.classes['@mozilla.org/browser/places/import-export-service;1'] is undefined
Отсутствует
okkamas_knife, у меня в консоли только
Ошибка: HTML-документ не содержит объявления кодировки символов. Если документ содержит символы, не входящие в диапазон US-ASCII, то в некоторых конфигурациях браузера в документе будет отображён искажённый текст. Кодировка символов страницы должна быть объявлена в документе или в протоколе передачи.
Если это, то ерунда. Прекрасно работает, спасибо большое!
Отредактировано Ki_rrrilll (09-12-2014 20:39:30)
Отсутствует
Чаво она это перестала в работать?
Отсутствует
Чаво она это перестала в
работать?
Дед-Obsolete пришёл за ней.
//const baks = props.map(function(prop, i) i ? eval(prop).quote() : eval(prop)); const baks = props.map(function(prop, i) i ? '"' + eval(prop) + '"' : eval(prop));
Отсутствует
У меня в кнопках есть скрипты, которые срабатывают при загрузке страницы.
Отчего может быть, что эти скрипты не работают, если вкладка была открыта в фоне?
Значит скрипты отслеживают загрузку только текущей страницы.
Отредактировано bunda1 (25-12-2014 18:19:42)
Отсутствует
Значит скрипты отслеживают загрузку только текущей страницы.
Ясненько, спасибо!
А вот еще вопрос, он по стилям, но тоже связан с кнопкой. На странице есть ссылка, внутри ссылки картинка и вот я хочу заменить эту картинку на свою и хочу сделать это через css.
Что я делаю
[src$ = 'aaa.png'] {visibility: collapse} [src$ = 'aaa.png'] :before{content: url(http://my_image.png) !important; visibility: visible !important}
Оригинальная картинка скрывается, но новая не появляется. Где ошибка?
Отсутствует
Я не сильно разбираюсь в css но мне кажется надо использовать content: "" !important; background: url('http://my_image.png') !important; или просто list-style-image: url('http://my_image.png') !important; для img
Отредактировано bunda1 (25-12-2014 21:37:56)
Отсутствует
Я не сильно разбираюсь в css но мне кажется надо использовать content: "" !important; background: url('http://my_image.png') !important; или просто list-style-image: url('http://my_image.png') !important; для img
Т. е. как должен выглядеть код целиком? Что-то не выходмт у меня.
Я ведь свой код откуда взял - тут был топик Уроки стилистики (CSS), автор iDev.Pi . Только его удалили.
Вот оттуда и код. Но он не работает.
Отсутствует
Может так: a[src$ = 'aaa.png']:after{ content:url("http://my_image.png"); padding-left:0.5ex; }
Добавлено 25-12-2014 22:06:35
Вот так работает на этой странице: A[href="misc.php?email=48303"]:before{ content:url("http://www.mp3poisk.net/favicon.ico"); padding-left:0.5ex; } попробуй.
Отредактировано bunda1 (25-12-2014 22:06:35)
Отсутствует
bunda1
Да, так работает. Этот способ работает, если использовать псевдо-элемент не того объекта который я хочу заменить, а его родителя. Хотя у iDev.Pi вроде написано иначе. И сам новый элемент сдвигается верх.
Вот я скопировал кусок текста от iDev.Pi , может это поможет разобраться почему мой код не хочет работать?
Сначала надо скрыть сам объект: хочется использовать "display: none" но тогда не будут отображаться и все псевдо-элементы выбранного объекта, поэтому используем "visibility: collapse".
Используем псевдо-элемент :before (если бы мы использовали :after, то он появился не на месте скрытого элемента, а после, и тогда его пришлось бы сдвигать (через указание относительных путей, что не надёжно и поэтому проще этого избежать)).
Задаём содержимое псевдо-элемента через свойство content. Кстати, картинки я вставлял через ссылки на размещённые на других сайтах, но можно вставить и base64 код картинки, если не хочется использовать ссылку (ведь ссылка может и умереть, или измениться картинка по ней).
Выставляем "visibility: visible" для псевдо-элемента, т.к. свойство visibility по умолчанию наследуемое, то псевдо-элемент унаследует его от своего родителя - самого элемента, который мы тока что сами и скрыли используя visible.
Попробуем на этом форуме заменить картинку вверху страницы на картинку с другого сайта, за которой идёт мигающий текст и снова эта же картинка:
@namespace url(http://www.w3.org/1999/xhtml); @-moz-document domain("forum.mozilla-russia.org") { .inbox>A[href="index.php"] { visibility: collapse; } .inbox>A[href="index.php"]:before { content: url(http://mozcom-cdn.mozilla.net/img/covehead/template/title.png) "<< откуда это взялось? >>" url(http://mozcom-cdn.mozilla.net/img/covehead/template/title.png); visibility: visible; text-decoration: blink; } }
Отсутствует
Можно программно создавать резервную копию закладок в json файл? Сейчас у меня открывается вкладка chrome://browser/content/places/places.xul затем выполняется команда content.document.getElementById('backupBookmarks').click() ну и выскакивает диалог сохранения.
Как автоматизировать хотя бы вставку в диалог имени файла и пути для сохранения?
Отсутствует
Можно программно создавать резервную копию закладок в json файл? Сейчас у меня открывается вкладка chrome://browser/content/places/places.xul затем выполняется команда content.document.getElementById('backupBookmarks').click() ну и выскакивает диалог сохранения.
Как автоматизировать хотя бы вставку в диалог имени файла и пути для сохранения?
Вроде можно создать в about:config настройку browser.bookmarks.file где можно указать место на диске где хранить закладки, полезно для тех, кто имеет несколько профилей
Отсутствует
Вроде можно создать в about:config настройку browser.bookmarks.file где можно указать место на диске где хранить закладки, полезно для тех, кто имеет несколько профилей
Я создал в about:config строку, прописал путь, проверил что в prefs.js эта настройка есть, но диалог сохранения всё равно выскакивает.
По сути, я прописал путь \Data\profile\bookmarkbackups в котором копии закладок и хранились по умолчанию. Но я думал что если сделать настройку в about:config то перестанет запрашивать куда сохранять резервную копию.
Отредактировано rbfyec (27-12-2014 18:43:37)
Отсутствует
Я создал в about:config строку, прописал путь, проверил что в prefs.js эта настройка есть, но диалог сохранения всё равно выскакивает.
По сути, я прописал путь \Data\profile\bookmarkbackups в котором копии закладок и хранились по умолчанию. Но я думал что если сделать настройку в about:config то перестанет запрашивать куда сохранять резервную копию.
Нет это способ для совместного использования закладок для разных профилей.
А если так, копия places.sqlite без запроса на рабочий стол:
var service = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties); var file = service.get('ProfD', Ci.nsILocalFile); file.append('places.sqlite'); var desktop = service.get('Desk', Ci.nsILocalFile); file.copyTo(desktop, "places.sqlite");
но мне что то глючит
Отсутствует
rbfyec
Может я не совсем правильно понял задачу. Посмотрите Browser.bookmarks.autoExportHTML.
Отсутствует
bunda1 xrun1
Нет, к сожалению это не то. Я хотел именно резервный файл закладок который в формате json
Не sqlite и не HTML.
А если History Export
Отсутствует
rbfyec
Открываем в нужной версии Firefox вкладку с адресом:
chrome://browser/content/places/places.js
Поиск:
PO_backupBookmarks
Смотрим как сделано, пытаемся прицепиться.
Сейчас попробовал для Firefox 34. Вроде работает.
const path = "C:\\cbTest_34\\sub1\\bak.json"; var dir = Components.Constructor("@mozilla.org/file/local;1", "nsILocalFile", "initWithPath")(path).parent; if (!dir.exists() || !dir.isDirectory()) dir.create(dir.DIRECTORY_TYPE, parseInt("0664", 8)); Cu.import("resource://gre/modules/PlacesBackups.jsm", {}).PlacesBackups.saveBookmarksToJSONFile(path);
Отредактировано Dumby (28-12-2014 10:44:52)
Отсутствует