Front-end web developer——[to be a better man]
文章字体大小Font Size文章字体大小:12px, 14px
12

利用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% [?]

comments2 Responses to “利用JS使博客重现Flickr图片”

  1. mercy Says:

    如果某些人选择关闭JS是不是就不起作用了?

  2. govo Says:

    ERROR: Cannot quote comment ID #87500 as it can’t be found in the database.

    这个当然。不止这个,关闭JS很多东西都用不了呢。

respondLeave a Reply

:mrgreen: :| :twisted: :arrow: 8O :) :? 8) :evil: :D :idea: :oops: :P :roll: ;) :cry: :o :lol: :x :( :!: :?:

&| &amp;