不用插件解决Picasa图片不能显示的方法

Picasa死掉有一段时间了,像我这种拿它当博客图床的人来说真是无比郁闷。图片搬迁太麻烦了,不过Wordpress用户可以使用江东老板的Pika插件来恢复Picasa的显示。现在Sivan再教大家一种不用插件的方法恢复图片的显示,任何程序和页面都能用,而且不需要国外主机。

恢复Twitter的JS挂件一样,这次还是用到Google AppEngine搭建的代理。由于代理图片是个极耗流量的事,所以强烈建议大家自己搭建一个代理。教程参考《五步搭建属于自己的代理服务器》,已经没法再简单了。目前Google AppEngine貌似已经缩水,免费帐户每天只能使用1G流量,所以我重新申请了一个专门给自己博客用。

接下来就很简单了,因为mirrorrr代理访问不加密地址。我们只要把代理地址加到原来外链图片的前面就OK了。为了不去修改每个图片的地址,我们采用jQuery在页面载入时修改地址。

首先需要载入jQuery库,主题载入过的就不用重复加载了:


接下来在后面插入一段jQuery代码,如下:

$(".post p img").each(function(sivanimg){
var src = $(this).attr("src");
if( src.indexOf('ggpht')!=-1 ){
$(this).attr('src','https://你的账户名.appspot.com/'+src.replace('http://','') );
 }
});

这个代码是从pika的全局代码改的。这里的选择器我用的“.post p img”,每个主题是不一样的。如果你只在文章中使用picasa图片那么使用“img”就可以了。对主题不熟悉的建议用后者。然后会遍历页内所有图片并获取其地址,当地址来自picasa时则使用mirrorrr加载,就这么简单。

如果你用了highslide等特效连链接也需要该的话,再追加以下jQuery代码:

$(".post p a").each(function(sivana){
var href = $(this).attr("href");
if( href.indexOf('ggpht')!=-1 ){
$(this).attr('href','https://你的账户名.appspot.com/'+href.replace('http://','') );
 }
});

这样就全部完事了,刷新博客看看效果吧。该方法不只针对wordpress,所有程序或页面都有效,适合没有国外主机而且不是用wp的朋友。同时该方法可以用来实现通过代理加载任何打不开的图片,而且能多相册一并处理。等Flickr被挡时兴许还用的上。

本文的宗旨只是教大家让博客的贴图正常显示,没有其他目的,也请大家冷静对待类似事件。

p.s.由于该方法还是会暴露图片的外链地址,所以是否会引起“功夫网”注意我不敢打保票,现在只能亲自体验。

Tags : , ,

本博文章均为Sivan原创,内容遵循 署名-非商业性使用 2.5 共享协议,转载请注明来自 Sivan's Blog
原文链接为 //sivan.in/blog/solve-picasa-xx-without-plugin/
这篇日志发表于2009年09月3日 03:10。你可以订阅该日志的所有评论通过RSS 2.0。评论跟引用通告当前被关闭。

15 条回应

评论(13)引用通告(2)

  1. Pan

    热泪盈眶。。

    2009-09-03 06:45 | #1
  2. 新闻博客

    好家伙,你可真厉害..
    问一下,是不是貌似这种方法可以盗链。。。- -

    2009-09-03 17:22 | #2
    • Sivan

      @新闻博客 , 可以。本来相册的图片就不能防盗链的。

      2009-09-03 19:15 | #3
  3. Betty

    这个办法好……不过AppEngine自己也越来越危险了……

    2009-09-03 18:23 | #4
    • Sivan

      @Betty , 现在APPENGINE免费只有1G流量,应该成不了什么大规模。需要大流量就买VIP的了

      2009-09-03 19:16 | #5
  4. Hobo

    哈,方法不错。不过还不是根本啊。可惜

    2009-09-06 15:41 | #6
  5. Louis Han

    含泪等待Picasa归来

    2009-09-09 21:22 | #7
  6. derek

    这堵墙,让人闷得慌

    2009-09-11 00:33 | #8
  7. 摩凝(M.Chan)

    这个方法在Rss输出的时候,会无效吧?

    2009-09-18 13:27 | #9
    • Sivan

      嗯,RSS要想正常显示只能换相册了~

      2009-09-18 16:55 | #10
      • 摩凝(M.Chan)

        @Sivan , pika在RSS输出是可以正常显示图片的。所以如果结合pika和这个方法,兴许有一个新的思路。

        2009-11-03 19:38 | #11
  8. 不知道为什么我没看到效果呢...pika也有的图没缓存到服务器上==

    2009-09-20 12:27 | #12
    • Sivan

      这个办法跟pika差不多,都是用自动修改原地址为代理的地址。pika怎么缓存我就不清楚了~现在我博客用的是文中这个方法。

      2009-09-20 12:39 | #13
  1. [...] 1. 《不用插件解决Picasa图片不能显示的方法》 [...]

  2. [...] 来源:《不用插件解决Picasa图片不能显示的方法》 [...]

站点评论关闭

有问题请联系 sun.sivan[at]gmail.com 或新浪微博 @Sivan