0
10分ごとに更新するデスクトップガジェットを作成しています(ここでは10秒です)。私が決めたことは、setTimeoutを実行するたびにXMLが再びロードされないということです。Javascript自動新鮮なXMLHttpRequestの問題
これはどのような問題かわかりません。オブジェクトがnullに設定されていることを確認しましたが、再初期化は行われず、空のXMLオブジェクトが残っています。 SJAX(同期アヤックス)で
setTimeout("bg_load();getXML()",10000);
function getXML()
{
stat = readSetting();
url = "http://www.weather.gov/xml/current_obs/" + stat[0] + ".xml"
rssObj = new XMLHttpRequest();
rssObj.open("GET", url, false);
rssObj.onreadystatechange = function() {
if (rssObj.readyState === 4) {
if (rssObj.status === 200) {
document.getElementById("gadgetContent").innerHTML = "";
rssXML = rssObj.responseXML;
} else {
var chkConn;
document.getElementById("gadgetContent").innerHTML = "Unable to connect...";
}
} else {
document.getElementById("gadgetContent").innerHTML = "Connecting...";
}
}
rssObj.send(null);
getImage(rssXML);
getText(rssXML);
rssObj = null; rssXML = null;
}
を、同期呼び出しでの問題は、サーバが応答するまでに長い時間がかかる場合には、ユーザーのブラウザをロックすることができますです。楽しいもの! – epascarello
ありがとうございました。私は自分でこれを考え出すことは決してできませんでした。 – Eric