>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >E4X vs DOM http://forum.mozilla-russia.org/viewtopic.php?id=17895 |
Dark-Demon > 08-07-2007 14:45:26 |
В общем, как известно в мозилле пока(?) не работает прозрачная поддержка этих технологий, тобишь такой код: выдаёт невразумительную ошибку. |
Anton > 08-07-2007 17:00:20 |
Вот этим кодом я перенес кнопку из открытого в браузере 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); |
Dark-Demon > 08-07-2007 17:52:42 |
ну, фактически загруженный xul-документ находится в том же доме, что и весь интерфейс браузера, хотя, странно, что после преобразования в строку и обратно он сохранил эту информацию... в общем, решение я нашёл - методы importNode или adoptNode позволяют вставлять узлы из других документов. только вот после парсинга узлы перемежаются с пустыми текстовыми узлами... даже если узлы писать без пробелов... xml.prettyPrinting=false помогло |
Lynn > 09-07-2007 00:00:07 |
А тут ничего нет полезного: http://developer.mozilla.org/en/docs/E4X ? |
Dark-Demon > 09-07-2007 00:24:14 |
Lynn, ну да, баги почитал, поплакал... (T_T) |