<script>
function gb2utf8(data){
 var glbEncode = [];
 gb2utf8_data = data;
 execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
 var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
 t=t.split("@");
 var i=0,j=t.length,k;
 while(++i<j) {
  k=t[i].substring(0,4);
  if(!glbEncode[k]) {
   gb2utf8_char = eval("0x"+k);
   execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
   glbEncode[k]=escape(gb2utf8_char).substring(1,6);
  }
  t[i]=glbEncode[k]+t[i].substring(4);
 }
 gb2utf8_data = gb2utf8_char = null;
 return unescape(t.join("%"));
}
function getByID(){
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
var url = "http://www.9173.com/Html/Book/1/1623/42532.shtml";
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4)
if (xmlhttp.status == 200)
 Web=gb2utf8(xmlhttp.responseBody); //注意这里要用responseBody
};
xmlhttp.send(null);
 var id=/[<](div id=)["](TextTitle)["][>](.)*[<][/](div)[>]/ig;
wanttext= Web.match(id) ;
document.write(wanttext);
}
</script>
 
 <body onload=getByID()>本方法只适应ie

解决方案 »

  1.   

    <script>
    function gb2utf8(data){
    var glbEncode = [];
    gb2utf8_data = data;
    execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
    var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
    t=t.split("@");
    var i=0,j=t.length,k;
    while(++i <j) {
      k=t[i].substring(0,4);
      if(!glbEncode[k]) {
      gb2utf8_char = eval("0x"+k);
      execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
      glbEncode[k]=escape(gb2utf8_char).substring(1,6);
      }
      t[i]=glbEncode[k]+t[i].substring(4);
    }
    gb2utf8_data = gb2utf8_char = null;
    return unescape(t.join("%"));
    }
    function getByID(){
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    var url = "http://www.9173.com/Html/Book/1/1623/42532.shtml";
    xmlhttp.open("GET", url, true);
    xmlhttp.onreadystatechange = function(){
    if (xmlhttp.readyState == 4)
    {
    if (xmlhttp.status == 200){
     
    var Web=gb2utf8(xmlhttp.responseBody); //注意这里要用responseBody
    var id=/[<][d][i][v][ ][i][d][=]["](BookText)["][>]((.)[^.])*[<][/][d][i][v][>]/ig;
    var wanttext = Web.match(id)  ;
    document.write(wanttext.toString());
    }}
    };
    xmlhttp.send(null);}
    </script><body onload=getByID()> 
    前面只适应文本没有换行情况,这个适应包括换行的情况目前在ie6测试通过,
    ff不支持
      

  2.   

    <script>
    function gb2utf8(data){
    var glbEncode = [];
    gb2utf8_data = data;
    execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
    var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
    t=t.split("@");
    var i=0,j=t.length,k;
    while(++i <j) {
      k=t[i].substring(0,4);
      if(!glbEncode[k]) {
      gb2utf8_char = eval("0x"+k);
      execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
      glbEncode[k]=escape(gb2utf8_char).substring(1,6);
      }
      t[i]=glbEncode[k]+t[i].substring(4);
    }
    gb2utf8_data = gb2utf8_char = null;
    return unescape(t.join("%"));
    }
    function getByID(){
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    var url = "http://www.9173.com/Html/Book/1/1623/42532.shtml";
    xmlhttp.open("GET", url, true);
    xmlhttp.onreadystatechange = function(){var Web=gb2utf8(xmlhttp.responseBody); //注意这里要用responseBody
    var id=/[<][d][i][v][ ][i][d][=]["](BookText)["][>]((.)[^.])*[<][/][d][i][v][>]/ig;
    var wanttext = Web.match(id)  ;
    if(wanttext!=null)
    document.write(wanttext.toString());
    };
    xmlhttp.send(null);}
    </script><body onload=getByID()> 
    做一下修改,这样在加载过程中进行判断假如要的对象刚好在最后,那神仙也没有办法,
    因为你只能定位到某个url资源,而无法定位到url里面的任何地方。
      

  3.   

    <script>
    function gb2utf8(data){
    var glbEncode = [];
    gb2utf8_data = data;
    execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
    var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
    t=t.split("@");
    var i=0,j=t.length,k;
    while(++i <j) {
      k=t[i].substring(0,4);
      if(!glbEncode[k]) {
      gb2utf8_char = eval("0x"+k);
      execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
      glbEncode[k]=escape(gb2utf8_char).substring(1,6);
      }
      t[i]=glbEncode[k]+t[i].substring(4);
    }
    gb2utf8_data = gb2utf8_char = null;
    return unescape(t.join("%"));
    }
    function getByID(){
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    var url = "http://www.9173.com/Html/Book/1/1623/42532.shtml";
    xmlhttp.open("GET", url, true);
    xmlhttp.onreadystatechange = function(){
    try{
    var Web=gb2utf8(xmlhttp.responseBody); //注意这里要用responseBody
    var id=/[<][d][i][v][ ][i][d][=]["](BookText)["][>]((.)[^.])*[<][/][d][i][v][>]/ig;
    var wanttext = Web.match(id)  ;
     document.write(wanttext.toString());
    }catch(e)
    {
     
    }
    };
    xmlhttp.send(null);}
    </script><body onload=getByID()> 忽略一下在查找对象的过程中出现的错误
      

  4.   

    谢谢徐苦笑大哥,,,您辛苦了
    xmlhttp这个俄也知道需要浏览器支持activex的而且还要降低安全级别其实直接写个本地vbs脚本就可以了放到浏览器上岂不是添多了麻烦再而且,,从 IE7 开始好像增加了安全限制,不能用xmlhttp了况且即使是本地vbs脚本有些杀毒软件也会误报还不够麻烦的最重要的一条不能用VBS的理由:俄告别M$好多年根本不用IETo chinmo:俄以前的做法就是为 Opera 或 FF 做一个 userJS,创建规则,在打开特定页面之后屏蔽不需要的内容,而UserJS 都是等页面加载完毕后才执行的这样就造成必须下载广告后再移除相关代码以改变页面效果现在是想知道有没有一种办法,能在打开页面的时候就只下载我需要的那部分,免得浪费我宽带流量同时加快打开速度。。如果不用JS,需要什么办法才能做到?俄这里支持PHP,PHP脚本能做么?前提是,可以只取有效代码,广告的(没在脚本中指定的)都自动跳过
      

  5.   

    设想有那么一种浏览器或脚本或嗅探器之类的,让我可以在加载某个URL的时候启用自定义的$id、$tag规则,
    当浏览器检测到获取的标签id!=$id 或 tag!=$tag 的时候就自动跳过这个标签,不下载他里面的内容
    当浏览器检测到获取的标签id==$id的时候就下载并显示此标签的内容
    不懂http编程,,,不知道这种说法在理论上能不能实现这句话,很强大,是支持无数人继续疯狂的动力
      

  6.   

    jQuery里有方法,似乎是load函数,可以实现你说的功能。你可以下个API看下。给你个地址http://www.ajaxsamples.cn/html/1008.htmlajax实例站,提供最新的AJAX,AJAX实例,AJAX例子,AJAX教程,AJAX框架,AJAX下载,AJAX入门,AJAX技术,AJAX源码。