BareBones exemplo mínimo: usando XUL para POST http
Pergunta
Eu estou tentando descobrir se XUL é um bom candidato para formas GUI na intranet aplicativos.
Tem sido difícil encontrar alguém que realmente usos -lo embora. Portanto, eu pensei que eu iria pedir um exemplo de estilo Olá mundo.
Suponha que eu tenho uma página php que não faz nada, mas exibir qualquer conteúdo enviado a ele via HTTP POST. (Por exemplo, http://mysite.com/postdumper.php )
Alguém pode me mostrar o código mínimo que seria necessário para criar um formulário XUL que recolhe nome, sobrenome e idade, e me permite POST que a URL acima?
Todos os links ou Belas manuais ou referências que dão um exemplo são mais do que bem-vindos.
Solução
Eu usá-lo para um aplicativo de intranet e ter feito isso por alguns anos agora. Pode ser difícil para começar, mas uma vez que você entender algumas coisas é fácil fazê-la funcionar para você.
-
Esqueceu quase tudo o que sabia sobre HTML. NÃO está HTML e há um monte de coisas que você não pode fazer da maneira antiga, mas depois há uma incrível quantidade de outras coisas que você pode fazer em seu lugar.
-
comunicação Tudo sábio é feito com javascript, e não formas.
-
Sobreposições não tem nada a ver com div de. Mas é extremamente útil para dividir um projeto para projetos maiores.
-
Se uma página XUL não está corretamente formatado em todas as tags, a página não vai mesmo exibir.
Não é um Google grupos, onde o objetivo principal é discutir XUL remoto: http://groups.google.com/group/remotexul
Não é bastante ativo ainda, mas mais membros são mais que bem-vindo:)
Aqui está um exemplo mínimo:
<?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>
Gostaria também de salientar que você deve olhar para o envio de dados e para trás entre XUL e PHP usando um XMLRPC ou estrutura JSON vez. suporte JSON virá como embutido no Firefox 3.5.
Outra coisa é que, até Firefox 3.5 chega você não pode fazer cross-site XMLHttpRequest de menos que você faça alguma configuração no about: config. Que significa que apenas XUL em mysite.com pode enviar pedidos de mysite.com/postdump.php.
Outras dicas
Criar uma série de
Você pode usar formas xhtml antigos simples, desde que você use o seu namespace em XUL, uma vez que é XML.