베어 본 최소 예 : XUL에서 HTTP 게시물을 사용합니다
문제
XUL이 인트라넷 앱에서 GUI 양식의 좋은 후보인지 알아 내려고 노력하고 있습니다.
실제로 사람을 찾기가 어려웠습니다 용도 그래도. 따라서 나는 Hello World Style 예제를 요구할 것이라고 생각했습니다.
HTTP 게시물을 통해 전송 된 컨텐츠를 표시하는 PHP 페이지가 있다고 가정 해 봅시다. (예 : http://mysite.com/postdumper.php)
누구든지 FirstName, LastName 및 Age를 수집하는 XUL 양식을 작성하는 데 필요한 최소 코드를 보여줄 수 있습니까? 위의 URL에 게시 할 수 있습니까?
그러한 예를 제시하는 링크 나 미세 매뉴얼 또는 참조는 환영받는 것 이상입니다.
해결책
인트라넷 응용 프로그램에 사용하고 몇 년 동안 해왔습니다. 시작하기가 어려울 수 있지만 일단 몇 가지를 이해하면 도움이되기 쉽습니다.
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 지원은 Firefox 3.5에 내장됩니다.
또 다른 것은 Firefox 3.5가 도착할 때까지 About : config에서 일부 구성을 수행하지 않는 한 크로스 사이트 xmlhttprequest를 수행 할 수 없다는 것입니다. 즉, mysite.com의 xul만이 mysite.com/postdump.php에 요청을 보낼 수 있습니다.
다른 팁
일련의 <textbox>를 만들고, <button> 제출을 추가하고, 텍스트 박스에서 데이터를 읽은 후, xmlhttprequest. Get 또는 Post를 사용할 수 있습니다.
XML이므로 XUL에서 네임 스페이스를 사용하는 경우 일반 기존 XHTML 양식을 사용할 수 있습니다.