利用JS使博客重现Flickr图片
网友们提供了很多显示在Flickr上储存的图片的方法,如:”还我 Flickr! 拯救 Flickr 大行动“。
让Flickr显示的最好方法是替换IP的方法,因为稳定。其替换的内容如下:
http://farm1.static.flickr.com/ 换为 http://68.142.232.116/
http://farm2.static.flickr.com/ 换为 http://69.147.123.56/
其中为Wordpress而做的花儿写的脚本就用这个方法,实现方法是在输出时替换IP。这样做的好处是不影响原有的数据,等Flickr解禁时,只要把花儿写的脚本去掉就可以了,嘿嘿。
但在yo2上可用不了,因为无法安装插件,而且无法把插件直接放到主题文件中。估计是Yo2对下面这个语句实行了禁令:
add_filter('the_content', 'filter');
我在做Wordpress主题时总是Hack很多,因为原有的Wordpress template tag满足不了复杂的主题结构,所以用别名的方法写了实现花儿写的脚本同样功能的函数。但这样做就只能用于博客的页面显示了,没有能像花儿写的脚本那样全面。于是我就干脆写个JS,把Flickr的IMG地址全部换成相应的IP。代码如下:
<script type=”text/javascript”>
function filckr_ip_replace(){
var _images_inblog=document.getElementsByTagName(”img”);
var _Regex=["http://farm1.static.flickr.com/","http://farm2.static.flickr.com/"];
var _RepIP=["http://68.142.232.116/","http://69.147.123.56/"];
if(!_images_inblog.length) return;
for(var i=0;i<_images_inblog.length; i++){
for(var n=0;n<_Regex.length;n++){
if(_images_inblog[i] && _images_inblog[i].src && _images_inblog[i].src.indexOf(_Regex[n])>-1)
_images_inblog[i].src= _images_inblog[i].src.replace(_Regex[n],_RepIP[n]);
}
}
}
filckr_ip_replace();
</script>
Yo2用户只要把上面的代码放在footer.php中相应的位置即可。如果在footer.php中还有其它如google分析等其它外接的脚本的话,那最好把上面代码放在最前面。
我这个blog就是用这个方法显示Flickr图片的。
Update:推荐使用花儿写的脚本。

yo2上还有很多有用的插件,总之想方法把代码放到最后(相对的靠后)就行了。
Update:已经可以把花儿写的脚本放在header.php中,最好是<body>标签前面。但我认为花儿写的脚本中没必要把the_excerpt()也应用上去,因为the_excerpt()生成的是纯文字的文摘的形式,也没有什么图片内容了。详看codex上的the_excerpt()说明。
PS:太久没写JavaScript,有点生疏了。
Popularity: 41% [?]
文章字体大小:
2 Responses to “利用JS使博客重现Flickr图片”
Leave a Reply
六月 14th, 2007 at 11:10 下午
如果某些人选择关闭JS是不是就不起作用了?
六月 15th, 2007 at 11:11 上午
这个当然。不止这个,关闭JS很多东西都用不了呢。