当然不是GFW对我的Blog格外开恩,也不是我找到了合适的空间,而是用了几行javascript代码,把我的Blog“解封”了。
首先,我的域名注册商是提供地址隐藏(URL-HIDING)的功能。即我可以把 http://域名A/路径A 替换成 http://域名B/路径A 。当我用yxgong.net替换yxgong.blogspot.com之后,发现国内的朋友就可以访问了。但他们打开首页之后,就无法再打开里面的链接了,因为页面里的链接还是以blogspot.com的形式存在的,他们只有手动把地址栏中的yxgong.blogspot.com改成yxgong.net才能正常访问。
今天在有限理性那里看到一个解决方法(Google Pkblogs时找到的)。就是在页面里增加一段js代码,用于修改页面中的URL链接,把所有带blogspot.com的链接都修改成自己的域名。(原始js代码来自这里,作者的Blog)
我稍微修改了一下。具体方法:
Blogger(非beta,或用传统模板的beta):
在模板的<head>和</head>之间增加如下代码:
<script type="text/javascript">
function parseBlog()
{
var len = document.links.length;
var lnk = null;
for (var i=0; i<len; i++) {
lnk = document.links[i];
if (lnk.href.indexOf('yxgong.blogspot.com') != -1) {
lnk.href = 'http://yxgong.net' + lnk.pathname;
}
}
}
</script>
然后把<body>标签修改为<body onLoad="parseBlog();">,意思就是在网页装载时执行上面的函数。
如果你的域名注册商没有URL隐藏功能,那你可以修改成带inblogs.net或pkblogs.com的地址。例如:
<script type="text/javascript">
function parseBlog()
{
var len = document.links.length;
var lnk = null;
for (var i=0; i<len; i++) {
lnk = document.links[i];
if (lnk.href.indexOf('donauya.blogspot.com') != -1) {
lnk.href = 'http://inblogs.net/donauya' + lnk.pathname;
}
}
}
</script>
对于用新模板的Blogger Beta,那段函数无法直接写在模板里(提示不符合XML语法),那只有把function那段(不含script标签)存成一个js文件,放在某个地方(例如Google Pages),然后在模板里使用<script src="http://存放的地址/parseblog.js" type="text/javascript"></script>。结果,连顶上的导航条都自动被删除了,搞笑。
正当我以为完成任务的时候,却发现那段js程序在Firefox下运行很正常,但到了IE下,却少了一个'/'字符,又或者'/'字符移到了URL最后,我分特。在调试成功前,这段代码还是先不要加上去了。国内的用户还是请使用http://inblogs.net/yxgong来访问吧。
仍未解决的问题:
1. js在IE下的不兼容
2. 如果国内访问不了blogger.com,那还是不能留言
3. 如果国内访问不了www.blogblog.com,那模板所用到的图片都无法显示了。
4. Feed里面的地址无法修改
Tags:Pkblogs inblogs Blogger 封锁
2006年11月19日 星期日
庆祝我的Blog“解封”
订阅:
帖子评论 (Atom)


2 评论:
http://www.voipproducts.eu/betamax-rates
有个www.iyublog.com,国外的,也没有被封,不错的。
发表评论