私はこれをイントラネットアプリケーションに使用しており、数年前から使用しています。始めるのは難しいかもしれませんが、いくつかのことを理解すれば、それをうまく機能させるのは簡単です。
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>
また、代わりにXMLRPCまたはJSONフレームワークを使用して、XULとPHPの間でデータをやり取りすることを検討する必要があることも強調したいと思います。JSONサポートはFirefox3.5に組み込まれています。
もう1つのことは、Firefox 3.5が到着するまで、about:configで何らかの構成を行わない限り、クロスサイトXMLHttpRequestを実行できないことです。つまり、mysite.comのxulのみがmysite.com/postdump.phpにリクエストを送信できます。