现在的位置: 首页 > 综合 > 正文

简单制作网页分享按钮

2014年09月05日 ⁄ 综合 ⁄ 共 2144字 ⁄ 字号 评论关闭

话说这是一个人际互联的时代,SNS 类的社交网络大行其道。页面作为一种资源怎么不会参与到社交网络的分享中呢?于是我们看到页面都会提供一个分享功能,如我正在写的 CSDN 博文,出来就会有:

虽然现在有不少服务是专门做些分享按钮的,功能比较强大,包括统计的功能也有,但 Google 一番之后,发现其原理无非就是几张 icon 图片+连接,简单得很——于是就想自己来干,过把手瘾。

最后我的实现起来,比上述的都要简单,也不想搞那么复杂,没有写任何 JS。另外,为适应我自己的类库,我用 JSP 的 Tag Files 封装了一下,定义了相关接口。

<%@tag pageEncoding="UTF-8" description="文章功能模块"%>
<%@ attribute name="title" required="false" description="文章标题"%> 
<%
	// JSP 获取当前页面的 URL
	int srverPort = request.getServerPort();
	String currentPage_url = request.getScheme() + "://" + request.getServerName();
	if(serverPort != 80){
		currentPage_url += ":" + serverPort;
	}
	currentPage_url += request.getRequestURI() + "?" + request.getQueryString();
%>

HTML 部分:

<div class="share">
	<a title="转发至QQ空间" charset="400-03-8" id="s_qq"
		href="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%=currentPage_url%>"
		target="_blank"><img
		src="http://static.youku.com/v1.0.0691/v/img/ico_Qzone.gif" /></a>
	<a title="转发至人人网" charset="400-03-7" id="s_renren"
		href=http://share.renren.com/share/buttonshare.do?link=<%=currentPage_url%>&title=<%=title%>
		target="_blank"><img
		src="http://static.youku.com/v1.0.0691/v/img/ico_renren.gif" /></a>
	<a title="转发至新浪微博" charset="400-03-10" id="s_sina"
		href="http://v.t.sina.com.cn/share/share.php?appkey=2684493555&url=<%=currentPage_url%>&title=<%=title%>&Uid=&source=&sourceUrl="
		target="_blank"><img
		src="http://static.youku.com/v1.0.0691/v/img/ico_sina.gif" /></a>
	<a title="分享到腾讯朋友" charset="400-03-19" id="s_pengyou"
		href=http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?to=pengyou&url=<%=currentPage_url%>&title=%<%=title%>
		target="_blank"><img
		src="http://static.youku.com/v1.0.0691/v/img/ico_pengyou.png" /></a>
	<a title="推荐到豆瓣" charset="400-03-17" id="s_douban"
		href=http://www.douban.com/recommend/?url=<%=currentPage_url%>&title=<%=title%>
		target="_blank"><img
		src="http://static.youku.com/v1.0.0691/v/img/ico_dou_16x16.png" /></a>
</div>	

一般的分享链接只需要两个参数就行,一是页面的标题,另一个就是页面的链接,至于腾讯微博和新浪微博都需要一个appkey,这个另外再说,如果没有,直接用我提供的这个就行,因为appkey需要去申请,过程略微有点麻烦。

我认为,优化的空间无非就是:

一、雪碧图;

二、整理 CSS 为 LESS(是的,当前我已是 LESS 控了)

三、若在手机中,可以调用已安装的客户端吗?如新浪微博,通过 URI Shcme 传递 App ID 和参数。

四、点缀一下,增加 hover 效果

五、需要增加其他 SNS 供应商吗?貌似这些就够了耶~要那么也挺烦的~

六、考虑用 JS 获取 URL 和 title?我现在的是透过 JSP 获取的。

【上篇】
【下篇】

抱歉!评论已关闭.