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>