Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Спасибо Infocatcher
Добавлено 13-02-2014 00:11:41
Кстати да, теперь код увеличивает картинки на загруженных страницах даже при выключенном интернете.
Отредактировано bunda1 (13-02-2014 00:11:41)
Отсутствует
Может кому нужно:
// Открыть всё во вкладках из папки закладок не загружая страницы в вкладках, от 15.02.2014. ................................ (function () { // изменить внутреннюю функцию Firefox которая открывает всё во вкладках const openInTabs = PlacesUIUtils.openContainerNodeInTabs; eval("PlacesUIUtils.openContainerNodeInTabs = " + openInTabs.toString().replace('aView) {', 'aView){ \n getDataAllMenuItems(aNode); \n if (aNode.itemId !== -1) return;')); addDestructor(function() { eval("PlacesUIUtils.openContainerNodeInTabs = " + openInTabs ) }); // получить данные из всех пунктов папки закладок function getDataAllMenuItems( aNode ) { aNode.containerOpen = true; for ( i = 0; i < aNode.childCount; ++i ) { var menuItem = aNode.getChild(i); if ( PlacesUtils.nodeIsURI( menuItem ) ) { var url = menuItem.uri; var title = menuItem.title; var favicon = menuItem.icon.replace("moz-anno:favicon:", ""); openTabWithoutLoading( url, title, favicon ); } } }; // добавить вкладку с указанными данными не загружая страницы function openTabWithoutLoading( url, title, favicon ) { var gSessionStore = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore); var tab = gBrowser.addTab(null); gSessionStore.setTabState( tab, JSON.stringify({ entries: [ { url: url, title: title } ], lastAccessed: 0, index: 1, hidden: false, attributes: {}, image: favicon })); }; })();
Но для папок истории не работает
Отредактировано bunda1 (15-02-2014 06:32:29)
Отсутствует
bunda1
Вот ещё бы было неплохо, если бы при открытие из папок использовалось и пустая вкладка.
Ты хочешь что бы код заменял уже открытую текущую пустую вкладку на первую из папки закладок. Так что ли?
Да я тут подумал может добавить для кода возможность заменять уже открытые вкладки как это делает оргиналая функция. Хотя сам не пользуюсь и смысла не вижу.
Отсутствует
Ты хочешь что бы код заменял уже открытую текущую пустую вкладку на первую из папки закладок. Так что ли?
Ага.
Да я тут подумал может добавить для кода возможность заменять уже открытые вкладки как это делает оргиналая функция. Хотя сам не пользуюсь и смысла не вижу.
Мне такое точно не надо.
Отсутствует
voqabuhe
Ну как то так
// Открыть всё из папки закладок в новых вкладках не загружая страниц, от 15.02.2014. ................................ (function () { const ss = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore); // изменить внутреннюю функцию Firefox которая открывает всё во вкладках const openInTabs = PlacesUIUtils.openContainerNodeInTabs; eval("PlacesUIUtils.openContainerNodeInTabs = " + openInTabs.toString().replace(' {', '{\n openTabWithoutLoading(aNode);\n if (aNode.itemId !== -1) return;\n')); addDestructor(function() PlacesUIUtils.openContainerNodeInTabs = openInTabs ); // открыть всё из папки закладок function openTabWithoutLoading( aNode ) { aNode.containerOpen = true; for ( var array = [], i = 0; i < aNode.childCount; ++i ) if ( PlacesUtils.nodeIsURI(aNode.getChild(i)) ) array.push( aNode.getChild(i) ); var blank = isBlankPageURL(content.location.href); if ( blank ) gBrowser.loadURI( array.shift().uri ); array.forEach(function( m ) { var tab = gBrowser.addTab(null); ss.setTabState( tab, JSON.stringify({ entries: [ { url: m.uri, title: m.title } ], lastAccessed: 0, index: 1, hidden: false, attributes: {}, image: m.icon.replace("moz-anno:favicon:", "") })); }); }; })();
или так :
// Открыть всё из папки закладок в новых вкладках не загружая страниц, от 15.02.2014. ................................ (function () { const ss = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore); // изменить внутреннюю функцию Firefox которая открывает всё во вкладках const openInTabs = PlacesUIUtils.openContainerNodeInTabs; eval("PlacesUIUtils.openContainerNodeInTabs = " + openInTabs.toString().replace(' {', '{\n openTabWithoutLoading(aNode);\n if (aNode.itemId !== -1) return;\n')); addDestructor(function() PlacesUIUtils.openContainerNodeInTabs = openInTabs ); // открыть всё из папки закладок function openTabWithoutLoading( aNode ) { aNode.containerOpen = true; for ( var i = 0; i < aNode.childCount; ++i ) { var item = aNode.getChild(i); if ( !PlacesUtils.nodeIsURI( item ) ) continue; // добавить вкладку с указанными данными не загружая страницы var tab = gBrowser.addTab(null); ss.setTabState( tab, JSON.stringify({ entries: [ { url: item.uri, title: item.title } ], lastAccessed: 0, index: 1, hidden: false, attributes: {}, image: item.icon.replace("moz-anno:favicon:", "") })); } // если текущая пустая вкладка закрыть и переключится на соседнюю вкладку var blank = isBlankPageURL(content.location.href); if ( !blank ) return; gBrowser.removeCurrentTab(); gBrowser.mTabContainer.advanceSelectedTab(1); }; })();
Добавлено 15-02-2014 22:15:57
Эх, хотел сделать кнопку которая открывает все новые вкладки не загружая но после изменения соответствующих внутренних функций Firefox консоль полна ошибок.
Отредактировано bunda1 (15-02-2014 22:15:57)
Отсутствует
Как задействовать пустую вкладку, не понял.
Ты хочешь что бы код заменял уже открытую текущую пустую вкладку на первую из папки закладок.
Ну вот также, только ещё и когда новая вкладка неактивная, а то сейчас она всё равно остаётся пустой.
Отсутствует
Ну вот также, только ещё и когда новая вкладка неактивная, а то сейчас она всё равно остаётся пустой.
Попробую хотя это посложнее будет
P.S. ты открываешь слишком много пустых вкладок, остановись!
Отсутствует
Попробую хотя это посложнее будет
Тогда не заморачивайся, такая ситуация нечасто возникает.
P.S. ты открываешь слишком много пустых вкладок, остановись!
Это я их для тестирования кнопки открывал, впредь буду более воздержанным, обещаю.
Отсутствует
Можно сделать разворачиватель комментариев на livejournal?
Может быть, вас заинтересует подобный скрипт для Greasemonkey? LiveJournal comments autoexpand
Отсутствует
Подскажите, есть ли возможность добавить/клонировать несколько кнопок "Открыть новую вкладку" в разных местах окна браузера?
Да сколько угодно если речь про Custom Buttons кнопку.
Отсутствует
rbfyec пишетМожно сделать разворачиватель комментариев на livejournal?
Может быть, вас заинтересует подобный скрипт для Greasemonkey? LiveJournal comments autoexpand
Спасибо!
Greasemonkey у меня не установлено, поэтому я сделал из скрипта букмарклет
javascript: function expCom(){ var EXPAND_CONTAINER_SELECTORS = '.b-leaf-actions-item.b-leaf-actions-expand a, span[id^="expand_"] a, .commentText a, div.comment-menu a, div.talk-comment-box a, .comment-footer > span > a'; var commentboxes = document.querySelectorAll(EXPAND_CONTAINER_SELECTORS); if (!commentboxes.length) return; for (var z = 0; z < commentboxes.length; z++) { if (commentboxes[z].getAttribute('onclick') && ~commentboxes[z].getAttribute('onclick').indexOf('ExpanderEx.make') || ~commentboxes[z].innerText.indexOf('Expand')) setTimeout(function(commentbox){ commentbox.click(); }(commentboxes[z]), 500); } } expCom()
Но теперь
1. В консоли ошибка Error: useless setTimeout call (missing quotes around argument?)
2. Раскрываются не все комментарии на странице. Впрочем, частичное нераскрытие имеет место даже если использовать скрипт с Greasemonkey, т. е. без всяких изменений.
Может тут мне помогут решить вопрос хотя бы с таймаутом?
Отсутствует
помогут решить вопрос хотя бы с таймаутом?
Здесь нет таймаута, ведь функция вызывается немедленно, с переданным аргументом. Обычно используют замыкание: http://stackoverflow.com/questions/12451844/settimeout-with-arguments
Ну и innerText в фоксе вроде бы ещё не появился
Отсутствует
god_05
Ну тогда создай Custom Buttons кнопку с кодом:
И дублируй и размещай куда хочешь.
Отсутствует
Раскрываются не все комментарии на странице. Впрочем, частичное нераскрытие имеет место даже если использовать скрипт с Greasemonkey, т. е. без всяких изменений.
Вот ещё разворачиватель комментариев(и он работает, в отличии от скрипта)
Livejournal Comments Expander
Отсутствует