前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用IE6看老赵的博客——比较完美版(可以在线查看、回复)

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

作者头像
用户1174620
发布2018-02-26 15:40:39
5330
发布2018-02-26 15:40:39
举报

  上一个版本主要是测试一下我的想法,也是熟悉一下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() +"\" onclick=\"myclick(this)\" myurl=");

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

  完整代码

代码语言:javascript
复制
代码
 
<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() +"\" onclick=\"myclick(this)\" myurl=");
                //清空上一次的内容
                $("#results").empty(); 
         //显示新的内容
                $("#results").append(ss);  
                
            }
        });
     }
</script>
</head>
<body>
     
    <div id="results">正在加载请稍后......</div>
  
 
</body>
</html>

<head> <title>用IE6看老赵的博客v1.1</title> </head> <body> <div id="results" >有点小问题,如果是第一次访问,请在下面点一下,然后才能开始查看。</div> <span id="pn" onclick="showJeffreyZhao('http://www.cnblogs.com/JeffreyZhao/default.aspx')">如果没有加载,请单击我</span> </body> </html>

运行代码

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-01-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档