Страницы: 1
собстно сабж, нужен полный текст, то есть всё что есть на странице:
<!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
подскажите плз
Отсутствует
уточню, мне нужно в xpcom-компоненте получить полный текст текущей в FireFox страницы, то есть либо получить текст в javascript и передать его в xpcom как строку, либо передать указатель на интерфейс, через который можно получить тот же текст(сейчас разбираюсь с nsIDOMHTMLDocument, но чего-то пока там не нахожу того чего нужно).
Отсутствует
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ентов на части порвет !!!
Отсутствует
спасибо большое!
мне наверное тогда будет проще сделать вот так:
var cont = window.getBrowser().contentDocument; var ser = new XMLSerializer(); var st = ser.serializeToString(cont);
чтобы получить весь сорс?
а есть у XMLSerializer метод deserialize, чтобы можно было сделать наподобии
?
Отредактировано cesspit (16-02-2006 15:09:53)
Отсутствует
...
мне наверное тогда будет проще сделать вот так:
...
Да, так проще.
...
а есть у 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ентов на части порвет !!!
Отсутствует
хммм...
а не подскажите, если менять содержание загруженной страницы из xpcom, какой интерфейс нужно для этого передать в компонент? Я сейчас мучаюсь с nsIDOMHTMLDocument. Всё что мне нужно, это получить то, что лежить в документе между <html> и </html> подправить и положить обратно подправленное. Ссылку на <html> насколько я понял я могу получить через GetDocumentElement(nsIDOMElement*), тока не могу понять как у nsIDOMElement получить innerHTML, у него и свойства такого нету. Есть методы GetNodeValue/SetNodeValue но первый метод по отношению к элементу полученному с помощью GetDocumentElement ничего не возвращает, а второй ничего не устанавливает. Может я не тот интерфейс для такой задачи использую?
Отсутствует
да, по ходу разобрался, что innerHTML через XPCOM-интерфейсы не получить, ибо не стандарт.
заинтересовал такой вот момент:
насколько я понял на xpidl можно описать интерфейс и метод, принимающий указатель на такой интерфейс в качестве входного параметра, и из js-кода вызвать этот метод XPCOM-компонента, передав ему объект javascript, реализующий соответствующий интерфейс. Не понял только как на js описать объект реализующий интерфейс. Не подскажите?
Отсутствует
заинтересовал такой вот момент:
насколько я понял на xpidl можно описать интерфейс и метод, принимающий указатель на такой интерфейс в качестве входного параметра, и из js-кода вызвать этот метод XPCOM-компонента, передав ему объект javascript, реализующий соответствующий интерфейс. Не понял только как на js описать объект реализующий интерфейс. Не подскажите?
Отсутствует
а можно из js сохранить в файл код текущей страницы или узнать имя закешированного файла? XMLSerializer заюзать не получилось как и innerHTML т.к. нужно сохранить html со всеми переносами строк, а при сериализации они пропадают.
Отредактировано cesspit (27-02-2006 19:13:56)
Отсутствует
а можно из js сохранить в файл код текущей страницы...
можно, уже обсуждалось
... или узнать имя закешированного файла?...
тоже можно, но не знаю как
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Страницы: 1