2
我正在考慮編寫一個桌面HTA程序。hta - ajax調用PHP腳本在網絡服務器上
但是,在啓動時,我需要做一個ajax php數據庫調用一個網站,這將需要一個成功的元素回調。
這可能嗎?我需要克服任何交叉瀏覽器問題嗎?防火牆會導致任何問題嗎?
我正在考慮編寫一個桌面HTA程序。hta - ajax調用PHP腳本在網絡服務器上
但是,在啓動時,我需要做一個ajax php數據庫調用一個網站,這將需要一個成功的元素回調。
這可能嗎?我需要克服任何交叉瀏覽器問題嗎?防火牆會導致任何問題嗎?
可能 - 是的。見下面的代碼。 Crossbrowser不適用於HTA--你總是使用IE渲染引擎。但我認爲你可能意味着跨域問題,這在HTA中也不適用。微軟選擇禁用所有的Javascript跨域保護,因爲HTA(HTML-Application)被視爲不是網頁的應用程序。
防火牆有很多考慮因素,但防火牆不太可能會阻止比HTML AJAX更嚴格的HTA AJAX調用。如果你有一個調用你的PHP頁面的網頁,它可能也會在HTA中工作。祝你好運!
<html><head>
<script language="javascript" type="text/javascript">
var XHR = new ActiveXObject("Msxml2.XMLHTTP");
function callAjax(url){
XHR.onreadystatechange=(callback);
txtStatus.value += "opening: " + url + "\n";
XHR.open("GET",url,true); //"POST" also works
XHR.send(); // XHR.send("name1=value1&name2=value2");
}
function callback(){
if(XHR.readystate == 4) txtStatus.value += "DONE\n" + XHR.responseText;
}
</script>
</head>
<body onload="callAjax(txtURL.value)">
<textarea id=txtURL style="width:100%" rows=1>http://www.google.com</textarea>
<textarea id=txtStatus style="width:100%" rows=20></textarea>
</body></html>