使用IE6看老赵的博客——比较完美版(可以在线查看、回复)

本文介绍了一个针对IE6浏览器优化的博客阅读方案。通过使用jQuery,作者实现了页面内容的动态加载及链接的无刷新跳转。文章详细记录了从发现问题到解决问题的技术过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<script src="http://bloghighlighter.googlecode.com/files/shCore.js" type="text/javascript" ></script><script src="http://bloghighlighter.googlecode.com/files/shBrushRuby.js" type="text/javascript" ></script><script src="http://bloghighlighter.googlecode.com/files/shBrushCss.js" type="text/javascript" ></script><script src="http://bloghighlighter.googlecode.com/files/shBrushXml.js" type="text/javascript" ></script><script src="http://bloghighlighter.googlecode.com/files/raphael-min.js" type="text/javascript" ></script><script src="http://bloghighlighter.googlecode.com/files/myjs2.js" type="text/javascript" ></script>

 

  上一个版本主要是测试一下我的想法,也是熟悉一下jQuery,代码这个东东不动手写一下是很难弄明白的。

 

  有想法,写代码,出现错误,修改错误 = 不断进步。

 

  带着问题去学习,动力就很大了。上一个版本能够看到了,但是还要修改URL,没看一篇都要改一下也太麻烦了。能不能点里面的连接,然后就直接看了呢?试了一下,很不幸又跳到那个郁闷的页面了。

 

  怎么办呢?这就是问题。如何解决呢?修改连接,就是改一下a标签。点了之后不进行跳转不就行了吗?那我们还是来replace。

 

  replace(/href=/"/g,"href=/"#/" ")

 

  测试。咦奇怪了,页面怎么变形了?查看了一下页面代码,原来css的连接文件也是href的形式,把css文件也给干掉了。没有css那页面就不用说了。

 

  那么就要准确识别a标签了,其他标签的不能替换。怎么办呢?听说正则表达式可以。那具体怎么做呢,好像比较复杂。以前也没好好学正则,正好趁这个机会好好学习一下。找帮助,找代码,写代码,一点一点测试验证帮助里的例子。一点一点理解正则的思路、思维方式。

 

  用了一下午的时间,终于弄出来了。

 

  ss = ss.replace(/(<a)(.*?)(href=)/g, "$1 $2 $3/"#"+ Math.random().toString() +"/" οnclick=/"myclick(this)/" myurl=");

 

  保留原来a标签里的id等属性(就是<a 和 href 之间的内容),把href的连接改成 # ,把原来的连接地址改成属性(myurl),最后在加上onclick事件。然后在事件根据属性(myurl)里面提取新的页面内容就可以了。

 

  完整代码

  

代码
 
< head >< title > 用IE6看老赵的博客v1.1 </ title >
    
< script  src ="aspnet_client/jquery/jquery-1.3.1.js"  type ="text/javascript" ></ script >
    
< script  type ="text/javascript" >
    $(document).ready(
function (){
        //提取老赵的博客首页
        showJeffreyZhao(
" http://www.cnblogs.com/JeffreyZhao/default.aspx " );
    
     });
     
     
function  myclick(me)
     {
     //单击连接触发,清空内容
        $(
" #results " ).empty(); 
     //加载信息提示
        $(
" #results " ).append( " 正在加载请稍后...... " );  
        showJeffreyZhao(me.myurl);
     }
     
     
function  showJeffreyZhao(url)
     {

         $.ajax({
            url: url,
            cache: 
false ,
            success: 
function (html){

                ss 
=  html;
         //禁止调到那个郁闷的页面
                ss
= ss.replace( / location / g,  " status " );
                //修改a标签
                ss 
=  ss.replace( / (<a)(.*?)(href=) / g,  " $1 $2 $3/ " # " + Math.random().toString() + " / "  οnclick=/ " myclick( this )/ "  myurl= " );
                //清空上一次的内容
                $(
" #results " ).empty(); 
         //显示新的内容
                $(
" #results " ).append(ss);  
                
            }
        });
     }
</ script >
</ head >
< body >
     
    
< div  id ="results" > 正在加载请稍后...... </ div >
  
 
</ body >
</ html >

 单击“运行代码”按钮,然后会弹出来一个新的页面,然后在按一下浏览器里的“转向”,等上几秒钟就可以看到老赵的博客首页了。

 而且还可以回复哦。因为都在一个域里面,嘿嘿。

 在线运行功能借用了一下“司徒正美”的博客里的方法。http://www.cnblogs.com/rubylouvre/archive/2009/09/17/1567607.html

 

 

ps:今天下午有日偏食,同事拍了几张照片。有一张感觉挺好的,发一下。注意这个是太阳(日偏食),不是月亮,呵呵。

 

北京日偏食

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值