文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。
由于Flickr的没落,我在一个月前开始使用500px作为我的摄影存放地,而且升级成为了plus会员。500px的体验是非常好的,强烈推荐
由于500px不支持中文,同样也分享功能也只限于Facebook和twitter等英文网站,所以当我想将照片分享到国内的网站例如新浪微博,人人网时便有些力不从心,而且我也没有找到任何有效的中转机制来完成这个任务,无奈之下我只好自己动手了。
我想到的途径是浏览器的分享书签,这个东西不占用额外的内存,使用起来也非常灵活,想分享图片的时候点一下浏览器书签就可以了。唯一的问题是兼容性,不管是新浪微博提供的分享书签还是人人网提供的分享书签,目前都无法抓取500px里的图片,只能获取一个URL链接,这无疑是不够的,因为如果没有缩略图的话,其它访问者点击链接的概率会大大降低。
我需要的是这样的效果:
再研究了一下新浪微博和人人网提供的分享书签代码,以及500px页面结构和DOM相关知识后,我成功完成了这2个分享书签代码的改进。
我做的修改很简单,只是利用DOM将图片URL抓出来然后传给分享API,直接给成品。
新浪微博(<-把它拖到书签栏即可):
javascript:(function(){window.open(‘http://v.t.sina.com.cn/share/share.php?title=’+encodeURIComponent(document.title)+’&url=’+encodeURIComponent(location.href) + ‘&pic=’ + document.getElementsByTagName(“Img”)[3].src + ‘&source=bookmark’,’_blank’,’width=450,height=400′);})()
人人网(<-把它拖到书签栏即可):
javascript:(function(){window.open(‘http://share.renren.com/share/buttonshare/post/4001?title=’+encodeURIComponent(document.title)+’&url=’+encodeURIComponent(location.href) + ‘&pic=’ + document.getElementsByTagName(“Img”)[3].src + ‘&source=bookmark’,’_blank’,’width=626,height=436′);})()
PS.小改了一下,之前用的是document.images[2].src,@soulteary说不靠谱,于是我就换成getElementsByTagName了…