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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№116-02-2006 11:53:18

cesspit
Участник
 
Группа: Members
Откуда: СПб
Зарегистрирован: 08-02-2006
Сообщений: 80

Как получить полный текст загруженной в браузер страницы?

собстно сабж, нужен полный текст, то есть всё что есть на странице:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
.....
</html>

нашёл у документа тока documentElement.innerHTML, но это соджержание только тега html
подскажите плз

Отсутствует

 

№216-02-2006 13:53:07

cesspit
Участник
 
Группа: Members
Откуда: СПб
Зарегистрирован: 08-02-2006
Сообщений: 80

Re: Как получить полный текст загруженной в браузер страницы?

уточню, мне нужно в xpcom-компоненте получить полный текст текущей в FireFox страницы, то есть либо получить текст в javascript и передать его в xpcom как строку, либо передать указатель на интерфейс, через который можно получить тот же текст(сейчас разбираюсь с nsIDOMHTMLDocument, но чего-то пока там не нахожу того чего нужно).

Отсутствует

 

№316-02-2006 13:59:07

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

Re: Как получить полный текст загруженной в браузер страницы?

Выделить код

Код:

var cont = window. getBrowser (). contentDocument;
var ser = new XMLSerializer ();
var st1 = ser. serializeToString (cont. firstChild);
var st2 = ser. serializeToString (cont. firstChild. nextSibling);
var source = st1 + st2;

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

Отсутствует

 

№416-02-2006 15:06:02

cesspit
Участник
 
Группа: Members
Откуда: СПб
Зарегистрирован: 08-02-2006
Сообщений: 80

Re: Как получить полный текст загруженной в браузер страницы?

спасибо большое!
мне наверное тогда будет проще сделать вот так:

Выделить код

Код:

var cont = window.getBrowser().contentDocument;
var ser = new XMLSerializer();
var st = ser.serializeToString(cont);

чтобы получить весь сорс?
а есть у XMLSerializer метод deserialize, чтобы можно было сделать наподобии

Выделить код

Код:

ser.deserializeFromString(st, cont);

?

Отредактировано cesspit (16-02-2006 15:09:53)

Отсутствует

 

№516-02-2006 15:51:27

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

Re: Как получить полный текст загруженной в браузер страницы?

cesspit пишет

...
мне наверное тогда будет проще сделать вот так:
...

Да, так проще.

...
а есть у XMLSerializer метод deserialize...
...

Нет. У него всего два метода (http://xulplanet.com/references/objref/ … lizer.html).

Есть объект DOMParser (http://xulplanet.com/references/objref/DOMParser.html), но он делает только xml и xhtml.
Здесь: http://www.xulplanet.com/tutorials/mozsdk/xmlparse.php рекомендуют использовать свойство innerHTML.


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

Отсутствует

 

№616-02-2006 16:38:05

cesspit
Участник
 
Группа: Members
Откуда: СПб
Зарегистрирован: 08-02-2006
Сообщений: 80

Re: Как получить полный текст загруженной в браузер страницы?

хммм...
а не подскажите, если менять содержание загруженной страницы из xpcom, какой интерфейс нужно для этого передать в компонент? Я сейчас мучаюсь с nsIDOMHTMLDocument. Всё что мне нужно, это получить то, что лежить в документе между <html> и </html> подправить и положить обратно подправленное. Ссылку на <html> насколько я понял я могу получить через GetDocumentElement(nsIDOMElement*), тока не могу понять как у nsIDOMElement получить innerHTML, у него и свойства такого нету. Есть методы GetNodeValue/SetNodeValue но первый метод по отношению к элементу полученному с помощью GetDocumentElement ничего не возвращает, а второй ничего не устанавливает. Может я не тот интерфейс для такой задачи использую?

Отсутствует

 

№721-02-2006 14:31:46

cesspit
Участник
 
Группа: Members
Откуда: СПб
Зарегистрирован: 08-02-2006
Сообщений: 80

Re: Как получить полный текст загруженной в браузер страницы?

да, по ходу разобрался, что innerHTML через XPCOM-интерфейсы не получить, ибо не стандарт.
заинтересовал такой вот момент:
насколько я понял на xpidl можно описать интерфейс и метод, принимающий указатель на такой интерфейс в качестве входного параметра, и из js-кода вызвать этот метод XPCOM-компонента, передав ему объект javascript, реализующий соответствующий интерфейс. Не понял только как на js описать объект реализующий интерфейс. Не подскажите?

Отсутствует

 

№821-02-2006 16:32:12

cesspit
Участник
 
Группа: Members
Откуда: СПб
Зарегистрирован: 08-02-2006
Сообщений: 80

Re: Как получить полный текст загруженной в браузер страницы?

cesspit пишет

заинтересовал такой вот момент:
насколько я понял на xpidl можно описать интерфейс и метод, принимающий указатель на такой интерфейс в качестве входного параметра, и из js-кода вызвать этот метод XPCOM-компонента, передав ему объект javascript, реализующий соответствующий интерфейс. Не понял только как на js описать объект реализующий интерфейс. Не подскажите?

нашёл
http://groups.google.ru/group/netscape. … rt=1&num=3

Отсутствует

 

№927-02-2006 19:12:00

cesspit
Участник
 
Группа: Members
Откуда: СПб
Зарегистрирован: 08-02-2006
Сообщений: 80

Re: Как получить полный текст загруженной в браузер страницы?

а можно из js сохранить в файл код текущей страницы или узнать имя закешированного файла? XMLSerializer заюзать не получилось как и innerHTML т.к. нужно сохранить html со всеми переносами строк, а при сериализации они пропадают.

Отредактировано cesspit (27-02-2006 19:13:56)

Отсутствует

 

№1027-02-2006 20:24:51

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

Re: Как получить полный текст загруженной в браузер страницы?

cesspit пишет

а можно из js сохранить в файл код текущей страницы...

можно, уже обсуждалось

... или узнать имя закешированного файла?...

тоже можно, но не знаю как


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

Отсутствует

 

Board footer

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