Создать список WEB-ссылок / запустить их в браузере

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Универсального решения не будет все равно. У каждого браузера свои классы окон, и не факт еще, что вообще удастся различить окна вкладок, а если и удастся, то получится ли получить из них текст URL.

С файлами, имхо, все же надежнее.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Серёжа, не трудись. Я тебя понял.
Портативность не равно портабельность, так, на всякий случай. :wink:
MVV писал(а):Flasher, список браузеров фиксированный, или надо для всех?
Если так необходимо - сократим. :)
MVV писал(а):большинство браузеров переключают вкладки не в порядке создания, а в порядке последнего использования - в таком случае последовательные Ctrl+Tab будут переключаться лишь между двумя последними открытыми вкладками.
Боюсь, ты ошибся. Не большинство, а некоторые. Из мною используемых - только Opera. Но я сразу этот вариант отмёл, как ты мог заметить. :wink:
MVV писал(а):ИМХО, проще будет для конкретного списка браузеров из сохраненных сеансов выдирать список вкладок. А уже открывать их в любом браузере проще простого - последовательно запускать этот браузер с очередной ссылкой.
Ух, нравится мне это "проще простого", ну коли сможешь, то меня и такой вариант устроит пока что. :)
Loopback писал(а):У каждого браузера свои классы окон, и не факт еще, что вообще удастся различить окна вкладок, а если и удастся, то получится ли получить из них текст URL.
Так я тебе и написал, что для класса окна каждого браузера. Логично. Насчёт "различать окна вкладок" - надо посмотреть, про вычленять, думаю, не такая проблема, если адреса уже будут заложены в каждом дескрипторе.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):надо посмотреть, про вычленять, думаю, не такая проблема, если адреса уже будут заложены в каждом дескрипторе.
Вот именно - если... Хорошо если поле с адресом - стандартный контрол, или его наследник. Тогда текст можно получить стандартными средствами. Но это далеко не факт, контрол может быть полностью отрисованный. Попробуй, например, получить текст из дельфийского грида...

Посмотрел дерево окон Оперы - окон, откуда можно получить URL, не видно.
480499497
Сообщения: 73
Зарегистрирован: Вс сен 19, 2010 05:17

Сообщение 480499497 »

Когда то я работал сисадмином в клубе, поднимал там вопросы организации Домена народными средствами.
Ну и однажды проходил подобный вопрос.
Решил его след путем.
В сети были созданы каталоги разные, для моих док. для темпа, для темпорари интернет, для апликейшенов.
Все параметры приходилось внедрять вручную, так как ядро НТ не позволяло создавать удаленные системные каталоги без использования домена.

вообщем после того как это было создано, я заметил одну интересную особенность.
Все браузеры при открытии имели как вы понимаете одну и туже историю, память о сеансах, закладки и тому прочую хрень.

Каждый браузер имеет (не всегда настраиваемую) опцию пути кеша и локального профиля. Вам не составит труда применить параметр в ярлыке или при помощи аддона или патча, что бы загружать браузер с удаленными пофайлами. И таким образом с любой точки локальной сети вы можете работать с удобными для вас настройками.
480499497
Сообщения: 73
Зарегистрирован: Вс сен 19, 2010 05:17

Сообщение 480499497 »

еще вам идея на заметку, существует плагин в ТС который систематизирует КЕШ двига IE, и может работать с ними по доменам (помоему MSIE Cache). Все браузеры построеные на использовании двига IE, будут оставлять следы в кеше, и по принципу плагина можно построить список посещенных сайтов и открытых адресов, используя время создания или изменения файлов. Изменеия файлов происходят в момент открытия, загрузки, изменения содержания и закрытия, так что ошибиться не получиться. Таким образом создать скрипт некой истории для браузера - можно, и не нада работать ни с обьектами ни с загаловками.
Но для браузеров не IE немного сложнее будет, и я вообще как то даже не задавался ни разу вопросом по какому принципу они создают кеш. Но тоже по доменам- однозначно, иначе бы Хистори не работал бы.
Ктото там в теме сказал что Хромоподобные работают с движком IE - ЭпикФейлд, они работают с своим кешем никак не касаясь MSIE. Свой кеш и у Оперы, и у Фокса.
Можете почитать документацию про то как устроено хранение данных в кеше для каждого браузера и писать скрипт экспорта и импотра текущих страниц.

З.Ы. Хотя ябы пользовался портированой версией браузера, ведь в любом случае его нада ЗАПУСКАТЬ, и хранил бы просто на сервере где то в расшареной папке. Ну если не весь браузер то хотя бы его профайл и кеш.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Попробуй в gecko-образных, хромообразных ещё. K-Meleon, например, с открытым кодом, может, в нём что получится изъять. Так же интересует Orca и SRWare Iron. Остальные не буду называть, а то сразу желание отпадёт ковыряться. Этого будет достаточно. :wink:

480499497
О локальных сетях речь не шла. В любом случае, как можно из профайла, скажем, gecko-браузера запустить ссылки в Опере, и наоборот? Что'ж так ТЗ читать не хотим..
480499497 писал(а):Ктото там в теме сказал что Хромоподобные работают с движком IE - ЭпикФейлд, они работают с своим кешем никак не касаясь MSIE. Свой кеш и у Оперы, и у Фокса.
Этот кто-то, надо полагать, я. И про кэш я не сказал ни слова, я сказал про свойства. Читай внимательней.
480499497 писал(а):З.Ы. Хотя ябы пользовался портированой версией браузера, ведь в любом случае его нада ЗАПУСКАТЬ, и хранил бы просто на сервере где то в расшареной папке. Ну если не весь браузер то хотя бы его профайл и кеш.
Вот представь себе, есть на белом свете люди, которым необходимо пользоваться разными браузерами с учётом их различного функционала, сохранённых закладок, сессий и т.п. И на флешке мне хватает одного браузера, он у меня под определённые нужды заточен. Рассказывать чем отличается скорость работы браузеров с харда и USB2.0-флешки, надеюсь, не надо. Просил же в холивар не превращать..
480499497
Сообщения: 73
Зарегистрирован: Вс сен 19, 2010 05:17

Сообщение 480499497 »

О локальных сетях речь не шла. В любом случае, как можно из профайла, скажем, gecko-браузера запустить ссылки в Опере, и наоборот? Что'ж так ТЗ читать не хотим..
Ты всегда так предвзято относишся к попыткам помочь тебе решить проблему? Или ты просто привык что бы тебе давали всё так как ты хочеш.
Я твоё тз прочитал, и попробовал предложить тебе АЛЬТЕРНАТИВНЫЙ вариант облегчения тебе работы, который может быть подходящим, и не прийдется ломать голову а
Хромообразные браузеры, в принципе, используют свойства IE. Я одним таким пользуюсь.
а я только на прошлой неделе разбирал этот вопрос потому что решил перейти на хром, весь их форум уже облазил и зделал хром портированый. Вот я и решил поправить тебя по поводу юзаний свойст IE. Мне же известно что хром от IE никакие свойства не берет. Да и вообще это всем известно.
Вот представь себе, есть на белом свете люди, ..... Просил же в холивар не превращать..
я тебе дал два варианта, второй даже очень дельный, построить твой скрипт не на заголовках и парсинге обьектов процесов, а на кеше движков, работы между прочим меньше было бы. Ктомуже вся нужная информация что тебе нада, там есть и получить её легко. И еще даже подсказку дал про то как её получить.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

480499497 писал(а):Ты всегда так предвзято относишся к попыткам помочь тебе решить проблему? Или ты просто привык что бы тебе давали всё так как ты хочеш.
Я не привык к тому, чтобы мне что-то сразу давали. Есть ТЗ, всё остальное меня не интересует. Так понятно?
480499497 писал(а):. Мне же известно что хром от IE никакие свойства не берет. Да и вообще это всем известно.
Без комментариев. Значит я знаю то, чего не знаешь ты. За остальных не говорим..
480499497 писал(а): я тебе дал два варианта, второй даже очень дельный, построить твой скрипт не на заголовках и парсинге обьектов процесов, а на кеше движков, работы между прочим меньше было бы. Ктомуже вся нужная информация что тебе нада, там есть и получить её легко.
Спасибо за подсказку о кэше. Но насчёт "просто" соглашусь тогда, когда ты мне покажешь хотя бы, как из кэша K-Meleon получить все ссылки, где он располагается, я и так прекрасно знаю.
Последний раз редактировалось Flasher Пт ноя 26, 2010 03:49, всего редактировалось 5 раз.
480499497
Сообщения: 73
Зарегистрирован: Вс сен 19, 2010 05:17

Сообщение 480499497 »

кстати, вот тебе еще вариант. Конкретно по твоему ТЗ а не по тому неочень удачному методу которым ты хотел его реализовать.

В браузерах (ну насколько я помню) есть такая функция как Добавить в избранные. Делай себе скрипт, ктороый просто в избранные будет создавать каталог с страницами текущих вкладок.
в папку будут сохранены и созданы нужные тебе адреса.

Уж как вытащить ИЗБРАННЫЕ из браузеров и как их туда засунуть...
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Предыдущие посты частично удалены, частично отредактированы. Оставлена существенная часть, убран ненужный флейм, включая переходы на личности.
480499497 — предупреждение за нарушение п. 3 правил форума.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Попробуй в gecko-образных, хромообразных ещё. K-Meleon, например, с открытым кодом, может, в нём что получится изъять. Так же интересует Orca и SRWare Iron. Остальные не буду называть, а то сразу желание отпадёт ковыряться. Этого будет достаточно.
Гм, честно говоря, уже отпадает :) Не очень хочется возиться со всякой экзотикой. Про последние два даже не слышал. Правда, быстрый поиск по гуглу показал, что Orca на движке Gecko, а Iron - на движке хрома. Возможно, и данные они хранят одинаково.

Если смотреть по фоксу, у него вкладки сохраняются в файле sessionstore.js, в формате JSON. Его прочитать не так уж сложно. Подозреваю, другие Gecko-образные браузеры используют тот же механизм.

Как с этим обстоит у хрома - посмотрю, заодно и посмотрю его новую версию, я его ставил последний раз год назад.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Правда, быстрый поиск по гуглу показал, что Orca на движке Gecko, а Iron - на движке хрома.
Это ты верно подметил.
Loopback писал(а):Возможно, и данные они хранят одинаково.
К сожалению нет. У хромированных похоже последние вкладки кэшируются в бинарники. Как таковых сессий у него нет. Есть только специальное расширение, только оно похоже в Iron не работает.
Loopback писал(а):Если смотреть по фоксу, у него вкладки сохраняются в файле sessionstore.js, в формате JSON. Его прочитать не так уж сложно. Подозреваю, другие Gecko-образные браузеры используют тот же механизм.
Это верно. Но у K-Meleon сделано через .., пихается всё в общий файл настроек prefs.js.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Как уже говорилось неоднократно, получить список открытых в данный момент в браузерах ссылок далеко не всегда возможно. Поэтому наиболее доступный вариант - анализ файлов сессий.

Ну по Опере я писал в приват:
MVV писал(а):Глянул щас, у Оперы в принципе несложно найти последние вкладки: в папке профиля подпапка sessions, там INI-файл autosave.win. И в нем в блоке [session] параметр window count отвечает за число окон. А далее от 1 до этого числа перебираешь секции с именами [1history url], [2history url] и т.д. и берешь из этих секций значение параметра с именем 0. Осталось составить скрипт. :) Но юзер может использовать и не сеанс по умолчанию, тогда имя файла может быть не autosave.win.
С Оркой все оказалось куда проще, чем с Оперой. Зашел в папку профиля (C:\Documents and Settings\<Юзер>\Application Data\Orca Profiles\.default), там "эфтрикнул" первый файл, название которого мне понравилось - это был reopen.dat. Оно. Файл в кодировке UTF-8, состоит из пар строк: первая - заголовок вкладки, вторая - URL, и т.д. Т.е. просто берешь каждую вторую строку файла.

А с Айроном сложнее - в профиле несколько файлов с бинарным содержимым, которые могут содержать нужную информацию. Например, файлы Current Session, Current Tabs, Last Session, Last Tabs.
Последний раз редактировалось MVV Пт ноя 26, 2010 14:58, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Таак, есть контакт, процесс пошёл. :)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ну а у Хамелеона нужно парсить prefs.js. Есть предыдущая сессия, её браузер предлагает открыть при запуске. Далее читаем строку, начинающуюся с user_pref("kmeleon.plugins.sessions2.Last Session.window0.count", - в ней после запятой указано число открытых вкладок. Потом берем строки, начинающиеся с user_pref("kmeleon.plugins.sessions2.Previous Session.window0.tab0", - выделен номер вкладки (от 0 до N-1, где N - число вкладок), а после запятой идет в кавычках строка, содержащая ряд полей, разделенных табами - после 4-го таба идет адрес страницы, после пятого - текст заголовка вкладки. Нужно лишь взять эти строки между кавычками и разделить на подстроки, учитывая символы табуляции, затем взять соответствующие элементы.
Ответить