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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№108-07-2007 14:45:26

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278
UA: Firefox 2.0

E4X vs DOM

В общем, как известно в мозилле пока(?) не работает прозрачная поддержка этих технологий, тобишь такой код:

Выделить код

Код:

var xml= XML (document);

выдаёт невразумительную ошибку.
ну да ладно, любой элемент можно сериализовать и полученную строку отдать в XML конструктор. но проблема с обратным преобразованием.
в HTML есть свойство innerHTML, которое бы тут могло помочь, но в XUL такого нет :( пробовал натравливать DOMParser, но справедливо получал ошибку о том, что нельзя элемент из одного документа перенести в другой.
в общем, есть ещё какие-нибудь решения, а то от E4X отказываться очень не хочется?..


!

Отсутствует

 

№208-07-2007 17:00:20

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

Re: E4X vs DOM

пробовал натравливать DOMParser, но справедливо получал ошибку о том, что нельзя элемент из одного документа перенести в другой.

Вот этим кодом я перенес кнопку из открытого в браузере xul-документа в интерфейс самого браузера.

Выделить код

Код:

var x = getBrowser (). contentDocument. getElementsByTagName ("button") [0];
var ser = new XMLSerializer ();
var str = ser. serializeToString (x);
default xml namespace = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
var button = XML (str);
button. description = <description>new button</description>;
button = new DOMParser (). parseFromString (button, "text/xml");
var gobutton = document. getElementById ("go-button");
gobutton. parentNode. appendChild (button. documentElement);

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

Отсутствует

 

№308-07-2007 17:52:42

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278
UA: Firefox 2.0

Re: E4X vs DOM

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

в общем, решение я нашёл - методы importNode или adoptNode позволяют вставлять узлы из других документов.

только вот после парсинга узлы перемежаются с пустыми текстовыми узлами... даже если узлы писать без пробелов... xml.prettyPrinting=false помогло

Отредактировано Dark-Demon (09-07-2007 00:21:32)


!

Отсутствует

 

№409-07-2007 00:00:07

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 2.0
Веб-сайт

Re: E4X vs DOM

А тут ничего нет полезного: http://developer.mozilla.org/en/docs/E4X ?


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№509-07-2007 00:24:14

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278
UA: Firefox 2.0

Re: E4X vs DOM

Lynn, ну да, баги почитал, поплакал... (T_T)
жаль, что в 1.9 нас не ожидает светлое е4х будущее..


!

Отсутствует

 

Board footer

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