Domanda

Sto cercando di capire se XUL è un buon candidato per i moduli GUI nelle app Intranet.

È stato difficile trovare qualcuno che effettivamente lo utilizza . Quindi ho pensato di chiedere un esempio di ciao stile mondiale.

Supponiamo di avere una pagina php che non fa altro che visualizzare qualsiasi contenuto inviato tramite HTTP POST. (ad es. http://mysite.com/postdumper.php )

Qualcuno può mostrarmi il codice minimo necessario per creare un modulo XUL che raccolga nome, cognome ed età e mi permetta di postarlo sull'URL sopra?

Tutti i collegamenti o i manuali fini o i riferimenti che forniscono un esempio del genere sono più che benvenuti.

È stato utile?

Soluzione

Lo uso per un'applicazione Intranet e lo faccio da alcuni anni. Iniziare può essere difficile, ma una volta comprese alcune cose è facile farlo funzionare per te.

  1. Hai dimenticato quasi tutto ciò che sapevi sull'HTML. NON è HTML e ci sono molte cose che non puoi fare alla vecchia maniera, ma invece ci sono una quantità incredibile di altre cose che puoi fare invece.

  2. Tutto ciò che riguarda la comunicazione è fatto con javascript e non con i moduli.

  3. Gli overlay non hanno nulla a che fare con i div. Ma è estremamente utile per dividere un design per progetti più grandi.

  4. Se una pagina XUL non è formattata correttamente in tutti i tag, la pagina non verrà nemmeno visualizzata.

Esistono gruppi di Google in cui lo scopo principale è discutere XUL remoto: http://groups.google.com/group/remotexul

Non è ancora abbastanza attivo, ma più membri sono più che benvenuti :)

Ecco un esempio minimo:

<?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 += "&amp;lastName="+lastName;
        postData += "&amp;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>

Vorrei anche sottolineare che dovresti cercare di inviare i dati avanti e indietro tra XUL e PHP usando un framework XMLRPC o JSON. Il supporto JSON verrà fornito come incorporato in Firefox 3.5.

Un'altra cosa è che fino all'arrivo di Firefox 3.5 non è possibile eseguire XMLHttpRequest tra siti a meno che non si esegua una configurazione in about: config. Ciò significa che solo xul su mysite.com può inviare richieste a mysite.com/postdump.php.

Altri suggerimenti

Crea una serie di < textbox > 's, aggiungi un submit < pulsante > ;, e dopo aver letto i dati dalle caselle di testo, inviarli utilizzando xmlhttprequest . Puoi usare GET o POST.

puoi usare semplici vecchi moduli xhtml purché tu usi il suo spazio dei nomi in XUL poiché è XML.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top