这是我的分页脚本,我想知道为什么我会在IE中得到这些错误:
function GetXmlHttpObject(){
var a;
try{
a=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(d){
try{
a=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(c)
{a=false;}
}
if(!a&&typeof XMLHttpRequest!="undefined")
{
try{
var a=new XMLHttpRequest();
}
catch(d){
var a=false;
}
}
return(a);
}
var i=0;var ii=0;var b=0;var bb=0;
function ForumPagination(c){
document.getElementById("forumsblock").style.display="none";
document.getElementById("WaitDiv").innerHTML="<img src='images/loading.gif' >";
xmlHttp=GetXmlHttpObject();
if(xmlHttp==null){
alert("Your browser does not support AJAX!");
return;
}
var a="indext.php?name=Dynamic_forums&pagenum="+c;
xmlHttp.open("GET",a,true);xmlHttp.onreadystatechange=ReplyLoading;xmlHttp.send(null);
}
function ReplyLoading(){
if(xmlHttp.readyState==2||xmlHttp.readyState==4){
var a=xmlHttp.responseText;
document.getElementById("WaitDiv").innerHTML=""+a;
}
}脚本在FF中工作得很好
顺便说一句,当我改变一页时,我不能再做一次了。
网页错误详细信息 消息:'getLoad‘是未定义的行: 105 Char: 311代码:0 URI:http://nukelearn.com/ 消息:尚未获得完成此操作所需的数据。 行:9 Char: 74代码:0 URI:http://nukelearn.com/includes/199233334JOE.js 消息:对象要求行:3 Char: 1代码:0 URI:http://nukelearn.com/includes/199233334JOE.js 消息:对象要求行:3 Char: 1代码:0 URI:http://nukelearn.com/includes/199233334JOE.js 消息:对象要求行:3 Char: 1代码:0 URI:http://nukelearn.com/includes/199233334JOE.js 消息:对象要求行:3 Char: 1代码:0 URI:http://nukelearn.com/includes/199233334JOE.js 消息:对象要求行:3 Char: 1代码:0 URI:http://nukelearn.com/includes/199233334JOE.js 消息:对象要求行:3 Char: 1代码:0 URI:http://nukelearn.com/includes/199233334JOE.js 消息:对象要求行:3 Char: 1代码:0 URI:http://nukelearn.com/includes/199233334JOE.js
发布于 2010-01-31 14:08:40
帮自己一个忙,使用jQuery:您将不再需要处理特定于浏览器的问题了(至少对于javascript来说是这样)
发布于 2010-01-31 14:36:34
第一个错误是因为您的页面中有这样的语句:
window.onload = getLoad;没有getLoad函数,这就是发生该错误的原因。这个错误也不是IE特有的,无论浏览器是什么,都存在同样的问题。
第二组错误是由于对XmlHttp中不同的XmlHttp值的误解造成的。这一行是问题所在:
if(xmlHttp.readyState==2||xmlHttp.readyState==4){要引用MSDN文档,readyState 2是:
2(发送)已调用发送方法。responseText不可用。responseBody不可用。
您似乎将readyState 2视为已完成的请求(然后尝试使用responseText属性),我认为这正是造成问题的原因。将这一行改为:
if(xmlHttp.readyState==4){有关不同的问题值的讨论,请参见此readyState值(摘要:只使用4)。
为了重申其他答案,请使用jQuery或至少另一个更小的库,它将抽象出跨浏览器的XmlHttp恶意。
发布于 2010-01-31 14:13:12
我同意@kemp。如果你使用jQuery,你所有的问题都会消失。
这是一个用于jQuery的分页插件,应该可以满足您的需要。
http://tympanus.net/codrops/2009/11/17/jpaginate-a-fancy-jquery-pagination-plugin/
https://stackoverflow.com/questions/2171928
复制相似问题