ajax don't work in IE8
ในเว็บผมเรียกใช้ ajax อยู่สามที่
มาอยู่ที่เดียว อีกสองที่ไม่เห็นเนื้อความใดๆ
ทั้งๆ ที่ใช้ โค้ดตัวเดียวกัน เปลี่ยนแค่ชื่อของdiv
ใช้ f12 debug ก็ไม่ฟ้องอะไร แค่ไม่มาเท่านั้นเอง
แต่ถ้าเล่นใน ไออีหก กลับปกติดี
แต่เล่นในไออีแปดไม่ได้
เที่ยวค้นหาดูในเว็บนี้ ก็ไม่เจอปัญหานี้
ลองดูตัวอย่างโค้ดที่ใช้ ajax
var req;
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
try { return new XMLHttpRequest(); } catch(e) {}
alert("XMLHttpRequest not supported");
return null;
}
function reLoad_recent_post() { //auto update
var url = "mymod/recent_post.php"; //1
var req=Inint_AJAX();
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) {
var obj = document.getElementById("recent_post") //2
obj.style.backgroundImage = "url()" // image for loading
obj.style.height = '100%' //adjust height to fit content
obj.innerHTML = req.responseText
setTimeout("reLoad_recent_post()", 30000); //3
}
}
};
req.open("GET", url, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
req.send(null);
}
function reLoad_sticky_post() { //auto update
var url = "mymod/sticky_post.php"; //1
var req=Inint_AJAX();
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) {
var obj = document.getElementById("sticky_post") //2
obj.style.backgroundImage = "url()" // image for loading
obj.style.height = '100%' //adjust height to fit content
obj.innerHTML = req.responseText
setTimeout("reLoad_sticky_post()", 30000); //3
}
}
};
req.open("GET", url, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
req.send(null);
}
อันแรกไม่มา อันที่สองมาปกติดีในไออีแปด
แต่ถ้าเล่นในไฟฟ็อกซ์ โครม ไม่เป็นเลยครับ
ช่วยด้วยครับ หามาหลายวันแล้ว จนด้วยเกล้า
มาอยู่ที่เดียว อีกสองที่ไม่เห็นเนื้อความใดๆ
ทั้งๆ ที่ใช้ โค้ดตัวเดียวกัน เปลี่ยนแค่ชื่อของdiv
ใช้ f12 debug ก็ไม่ฟ้องอะไร แค่ไม่มาเท่านั้นเอง
แต่ถ้าเล่นใน ไออีหก กลับปกติดี
แต่เล่นในไออีแปดไม่ได้
เที่ยวค้นหาดูในเว็บนี้ ก็ไม่เจอปัญหานี้
ลองดูตัวอย่างโค้ดที่ใช้ ajax
var req;
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
try { return new XMLHttpRequest(); } catch(e) {}
alert("XMLHttpRequest not supported");
return null;
}
function reLoad_recent_post() { //auto update
var url = "mymod/recent_post.php"; //1
var req=Inint_AJAX();
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) {
var obj = document.getElementById("recent_post") //2
obj.style.backgroundImage = "url()" // image for loading
obj.style.height = '100%' //adjust height to fit content
obj.innerHTML = req.responseText
setTimeout("reLoad_recent_post()", 30000); //3
}
}
};
req.open("GET", url, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
req.send(null);
}
function reLoad_sticky_post() { //auto update
var url = "mymod/sticky_post.php"; //1
var req=Inint_AJAX();
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) {
var obj = document.getElementById("sticky_post") //2
obj.style.backgroundImage = "url()" // image for loading
obj.style.height = '100%' //adjust height to fit content
obj.innerHTML = req.responseText
setTimeout("reLoad_sticky_post()", 30000); //3
}
}
};
req.open("GET", url, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
req.send(null);
}
อันแรกไม่มา อันที่สองมาปกติดีในไออีแปด
แต่ถ้าเล่นในไฟฟ็อกซ์ โครม ไม่เป็นเลยครับ
ช่วยด้วยครับ หามาหลายวันแล้ว จนด้วยเกล้า
<meta http-equiv="X-UA-Compatible" content="IE=7" />
ลงใน head ดูครับ (HTML) ถ้าไม่เข้าใจลอง view source เว็บผมดูครับ
ลองใส่ meta...
อย่างที่แนะนำแล้วครับ...
แต่ไม่เวอร์กครับ
ส่วนตัวแปร อ่านแล้วอ่านอีก ไม่ผิดครับ
รูปจะแคปเจอร์มาให้ดูเปรียบเทียบกันอีกที
แล้วลองวาลิเดท html ดู เหตุว่าสคริปไม่ผิดเลย
มันฟ้องว่า ไฟล์ไม่มี การประกาศ idoctype
ซึ่งจริงๆมันมี แต่อยู่ที่อีกไฟล์นึงซึ่งเป็นตัว header
ของทุกเพจ ส่วนไฟล์ที่ผมใช้อแจ้ก เป็นตัวบอดี้
ก็เลยใส่ซ้ำเข้าไปอีกที เป็นปกติครับ