使用IE6看老赵的博客——比较完美版(可以在线查看、回复)
2010-01-15 22:26 金色海洋(jyk)阳光男孩 阅读(...) 评论(...) 编辑 收藏
上一个版本主要是测试一下我的想法,也是熟悉一下jQuery,代码这个东东不动手写一下是很难弄明白的。
有想法,写代码,出现错误,修改错误 = 不断进步。
带着问题去学习,动力就很大了。上一个版本能够看到了,但是还要修改URL,没看一篇都要改一下也太麻烦了。能不能点里面的连接,然后就直接看了呢?试了一下,很不幸又跳到那个郁闷的页面了。
怎么办呢?这就是问题。如何解决呢?修改连接,就是改一下a标签。点了之后不进行跳转不就行了吗?那我们还是来replace。
replace(/href=\"/g,"href=\"#\" ")
测试。咦奇怪了,页面怎么变形了?查看了一下页面代码,原来css的连接文件也是href的形式,把css文件也给干掉了。没有css那页面就不用说了。
那么就要准确识别a标签了,其他标签的不能替换。怎么办呢?听说正则表达式可以。那具体怎么做呢,好像比较复杂。以前也没好好学正则,正好趁这个机会好好学习一下。找帮助,找代码,写代码,一点一点测试验证帮助里的例子。一点一点理解正则的思路、思维方式。
用了一下午的时间,终于弄出来了。
ss = ss.replace(/(
代码
<
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(
/
(
/
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
>