Полезная информация

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

№126-07-2007 14:58:26

spaider84
Участник
 
Группа: Members
Зарегистрирован: 26-07-2007
Сообщений: 8
UA: Firefox 2.0

Получение название всех вкладок Mozill`ы

Доброго времени суток.
Есть такая задача. Получить название всех вкладок мозиллы и соответственно сами ссылки этих вкладок.
Пытаюсь получить их с помощью EnumChildWindows. Ничего хорошего не выходит. при получении хендла возвращается пустое название окна.
Подскажите как можно разрешить эту проблему.
Заранее всем спасибо.

Отсутствует

 

№230-07-2007 09:46:44

spaider84
Участник
 
Группа: Members
Зарегистрирован: 26-07-2007
Сообщений: 8
UA: Firefox 2.0

Re: Получение название всех вкладок Mozill`ы

Люди добрые. Этот вопрос действительно очень важен для меня.
Жду от ветов и советов.

Отсутствует

 

№330-07-2007 19:55:35

Unghost
Призрак-админ
 
Группа: Administrators
Откуда: Moscow, Russia
Зарегистрирован: 08-10-2004
Сообщений: 11771
UA: Minefield 3.0

Re: Получение название всех вкладок Mozill`ы

На http://developer.mozilla.org смотрели документацию?


Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.

Отсутствует

 

№431-07-2007 08:52:17

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Получение название всех вкладок Mozill`ы

spaider84
сомневаюсь, что с помощью EnumChildWindows удастся получить что-то.
лучше открыть файл закладок "напрямую" из профиля и разпарсить его стандартными методами DOM

Отсутствует

 

№501-08-2007 08:13:45

spaider84
Участник
 
Группа: Members
Зарегистрирован: 26-07-2007
Сообщений: 8
UA: Firefox 2.0

Re: Получение название всех вкладок Mozill`ы

shutnik. Совет хороший.
Ноя никогда не писал под mozilla. Может есть пример подобного действия?

Отсутствует

 

№601-08-2007 09:47:02

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Получение название всех вкладок Mozill`ы

spaider84
всё, что нужно с примерами можно найти в MDC
можно взять код прямо из кода браузера (вооружившитсь предварительно архиватором и хорошим редактором), это будет ещё проще ;)
если бы сказали что и на каком языке пытаетесь написать, то советов было бы больше :)

Отредактировано shutnik (01-08-2007 09:47:35)

Отсутствует

 

№702-08-2007 08:10:47

spaider84
Участник
 
Группа: Members
Зарегистрирован: 26-07-2007
Сообщений: 8
UA: Firefox 2.0

Re: Получение название всех вкладок Mozill`ы

shutnik
Пишу на Delphi.

Отсутствует

 

№803-08-2007 07:53:53

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Получение название всех вкладок Mozill`ы

spaider84
парсим profiles.ini компонентом для работы с ini-файлами (названия не знаю, но в стандартном комплекте компонентов он имеется) и определяем количество и местоположения профилей.
открываем bookmarks.html из каждого профиля (ну или как вы захотите) и парсим их компонентом для работы с xml-файлами (опть же, есть в стандартном наборе компонентов), получаем нужные данные.
полезная информация о профилях есть тут.
дополнительные вопросы лучше задать на форумах, посвящённых делфи.

Отсутствует

 

№906-08-2007 14:05:34

spaider84
Участник
 
Группа: Members
Зарегистрирован: 26-07-2007
Сообщений: 8
UA: Firefox 2.0

Re: Получение название всех вкладок Mozill`ы

shutnik
Спасибо большое. Суть решения проблемы понятно. А остальное уже дело техническое

Отсутствует

 

№1006-08-2007 16:41:58

Mash
Участник
 
Группа: Extensions
Зарегистрирован: 09-04-2005
Сообщений: 620
UA: Firefox 2.0
Веб-сайт

Re: Получение название всех вкладок Mozill`ы

shutnik пишет

лучше открыть файл закладок "напрямую" из профиля и разпарсить его стандартными методами DOM

1. вкладки != закладки
2. даже если и нужны именно закладки (в чём я сомневаюсь), этот способ не подойдёт для fx3; там sqlite.

Отсутствует

 

№1106-08-2007 16:46:14

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Получение название всех вкладок Mozill`ы

Mash пишет

1. вкладки != закладки

а ведь действительно, в заголовке темы вкладки :rolleyes:
никто даже не заметил :P

Отсутствует

 

№1207-08-2007 08:48:03

spaider84
Участник
 
Группа: Members
Зарегистрирован: 26-07-2007
Сообщений: 8
UA: Firefox 2.0

Re: Получение название всех вкладок Mozill`ы

Mash

2. даже если и нужны именно закладки (в чём я сомневаюсь), этот способ не подойдёт для fx3; там sqlite.

Нужны именно вкладки. Во второй версии создается временный файл. который описывает все сессию полностью. Поэтому в данном моменте проблема решена. А что такого в fx3? Можно поподробнее?

Отсутствует

 

№1307-08-2007 10:17:41

Mash
Участник
 
Группа: Extensions
Зарегистрирован: 09-04-2005
Сообщений: 620
UA: Firefox 2.0
Веб-сайт

Re: Получение название всех вкладок Mozill`ы

spaider84 пишет

Во второй версии создается временный файл. который описывает все сессию полностью.

1. Но имя его далеко не bookmarks.html, так ведь? Я говорил именно про bookmarks.html и про то, что хранение закладок в Fx3 отлично от Fx2.

2. О каком временном файле идёт речь? О sessionstore.js? Если да, то это не универсальное решение; начиная с того, что есть browser.sessionstore.enabled. Или речь о другом?

Добавлено Втр 07 Авг 2007 10:34:54 :
accapi.png

На картинке - то, что показал AccExplorer

Я мало знаком с Cpp и прочими Дельфями. :) Видимо, как-то надо добраться до MozillaContentWindowClass и достать нужные свойства.

М.б. ещё эта ссылка поможет -- http://wiki.mozilla.org/Accessibility/AT-Windows-API
Ну и гуглmozilla.dev.accessibility

Отсутствует

 

№1407-08-2007 13:10:43

spaider84
Участник
 
Группа: Members
Зарегистрирован: 26-07-2007
Сообщений: 8
UA: Firefox 2.0

Re: Получение название всех вкладок Mozill`ы

2. О каком временном файле идёт речь? О sessionstore.js? Если да, то это не универсальное решение; начиная с того, что есть browser.sessionstore.enabled. Или речь о другом?

Речь идет о sessionstore.js.
Можно поподробнее про "MozillaContentWindowClass и достать нужные свойства"

Отсутствует

 

№1507-08-2007 14:30:23

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Granparadiso 3.0

Re: Получение название всех вкладок Mozill`ы

А если просто тупо сделать что-нибудь вроде

Выделить код

Код:

var tabs = document.getElementsByTagName('tab');
var tls = new Array;
for(var i = 0; i < tabs.length; i++) {
    var tab = tabs[i];
    if(tab.hasAttribute('class') && tab.getAttribute('class') == 'tabbrowser-tab') // или tab.getAttribute('class').match(/tabbrowser-tab/) – для верности
        tls.push(tab.getAtribute('label'));
}

?

А вот с получением ссылок потруднее будет...


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№1607-08-2007 15:10:01

spaider84
Участник
 
Группа: Members
Зарегистрирован: 26-07-2007
Сообщений: 8
UA: Firefox 2.0

Re: Получение название всех вкладок Mozill`ы

Infocatcher
Спасибо большое. Но как для начала подключиться к mozilla?

Отсутствует

 

№1707-08-2007 15:10:24

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 2.0

Re: Получение название всех вкладок Mozill`ы

Infocatcher
да получить лучше так

Выделить код

Код:

var tabs = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow("navigator:browser").getBrowser().browsers;

var arrUrls=new Array();
var arrTitles=new Array();

for(var index=0,length=tabs.length;index<length;index++){
  arrUrls[index]=tabs[index].currentURI.spec;
  arrTitles[index]=tabs[index].contentTitle;
}

alert(arrTitles);
alert(arrUrls);

только тут на делфи пишут :)

Отсутствует

 

№1807-08-2007 16:15:36

Mash
Участник
 
Группа: Extensions
Зарегистрирован: 09-04-2005
Сообщений: 620
UA: Firefox 2.0
Веб-сайт

Re: Получение название всех вкладок Mozill`ы

spaider84 пишет

Можно поподробнее про "MozillaContentWindowClass и достать нужные свойства"

Посмотрел бегло. У меня не получилось достать.
pAccessible->QueryInterface(IID_ISimpleDOMNode, (void**)&pSimpleDOMNode);
pSimpleDOMNode после этого пуст. Может и не так что делаю,.. не знаю, времени нет совершенно.

Попробуйте в сети поискать и на xpoint спросить, может там знающие люди найдутся и подскажут решение (и не обязательно связанное с MozillaContentWindowClass).

С другой стороны, если вас устраивает sessionstore.js, то почему бы и нет. Просто, afaik,
- хранение данных о сессии пользователь может отключить (browser.sessionstore.enabled);
- я не уверен в актуальности данных, получаемых таким способом (смущает browser.sessionstore.interval; надо код смотреть). Но могу и ошибаться.

Отсутствует

 

№1908-08-2007 20:06:33

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Получение название всех вкладок Mozill`ы

spaider84 пишет

Можно поподробнее про "MozillaContentWindowClass и достать нужные свойства"

Суперклассинг стандартных GUI окон, оконная процедура каждого окна находится в экземпляре класса nsWinow.

при получении хендла возвращается пустое название окна.при получении хендла возвращается пустое название окна.

Что если попробовать отправить окнам, хендлы которых получает callback EnumChildWindows сообщение WM_GETTEXT ?


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]