Я использую его для интранет-приложений и делаю это уже несколько лет. С этого может быть трудно начать, но как только вы поймете несколько вещей, вам будет легко заставить его работать.
Забыл почти все, что вы знали о HTML. Это НЕ HTML, и есть множество вещей, которые вы не можете сделать по-старому, но есть огромное количество других вещей, которые вы можете сделать вместо этого.
Все, что нужно для общения, делается с помощью JavaScript, а не форм.
Наложения не имеют ничего общего с div. Но это чрезвычайно полезно для разделения дизайна для больших проектов.
Если страница XUL неправильно отформатирована во всех тегах, страница даже не будет отображаться.
Есть группы гугл, где основной целью является обсуждение удаленного XUL:
http://groups.google.com/group/remotexul
Это еще не совсем активно, но больше участников приветствуются:)
Вот минимальный пример:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script language="javascript">
function send()
{
var firstName = document.getElementById('firstName').value;
var lastName = document.getElementById('lastName').value;
var age = document.getElementById('age').value;
var postData = "firstName="+firstName;
postData += "&lastName="+lastName;
postData += "&age="+age;
var req = new XMLHttpRequest();
req.open("POST", "/test.php", false);
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
req.send(postData);
alert(req.responseText);
}
</script>
<hbox>
<vbox>
<hbox>
<label value="First Name" control="firstName"/>
<textbox id="firstName"/>
</hbox>
<hbox>
<label value="Last Name" control="lastName"/>
<textbox id="lastName"/>
</hbox>
<hbox>
<label value="Age" control="age"/>
<textbox id="age" value="30" type="number"/>
</hbox>
<button onclick="send()" label="Send"/>
</vbox>
</hbox>
</window>
Я также хотел бы подчеркнуть, что вы должны изучить возможность отправки данных между XUL и PHP с использованием инфраструктуры XMLRPC или JSON. Поддержка JSON будет встроена в Firefox 3.5.
Другое дело, что до появления Firefox 3.5 вы не можете выполнять межсайтовый XMLHttpRequest, если не выполните некоторые настройки в about: config. Это означает, что только xul на mysite.com может отправлять запросы на mysite.com/postdump.php.