首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原分页脚本

原分页脚本
EN

Stack Overflow用户
提问于 2010-01-31 14:06:17
回答 3查看 275关注 0票数 3

这是我的分页脚本,我想知道为什么我会在IE中得到这些错误:

代码语言:javascript
复制
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

EN

回答 3

Stack Overflow用户

发布于 2010-01-31 14:08:40

帮自己一个忙,使用jQuery:您将不再需要处理特定于浏览器的问题了(至少对于javascript来说是这样)

票数 4
EN

Stack Overflow用户

发布于 2010-01-31 14:36:34

第一个错误是因为您的页面中有这样的语句:

代码语言:javascript
复制
window.onload = getLoad;

没有getLoad函数,这就是发生该错误的原因。这个错误也不是IE特有的,无论浏览器是什么,都存在同样的问题。

第二组错误是由于对XmlHttp中不同的XmlHttp值的误解造成的。这一行是问题所在:

代码语言:javascript
复制
if(xmlHttp.readyState==2||xmlHttp.readyState==4){

要引用MSDN文档,readyState 2是:

2(发送)已调用发送方法。responseText不可用。responseBody不可用。

您似乎将readyState 2视为已完成的请求(然后尝试使用responseText属性),我认为这正是造成问题的原因。将这一行改为:

代码语言:javascript
复制
if(xmlHttp.readyState==4){

有关不同的问题值的讨论,请参见此readyState值(摘要:只使用4)。

为了重申其他答案,请使用jQuery或至少另一个更小的库,它将抽象出跨浏览器的XmlHttp恶意。

票数 1
EN

Stack Overflow用户

发布于 2010-01-31 14:13:12

我同意@kemp。如果你使用jQuery,你所有的问题都会消失。

这是一个用于jQuery的分页插件,应该可以满足您的需要。

http://tympanus.net/codrops/2009/11/17/jpaginate-a-fancy-jquery-pagination-plugin/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2171928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档