• 社区网站功能实现系列(二):社区内容分享到别的SNS


    社区网站功能实现系列(二):社区内容分享到别的SNS

    我们在逛社区的时候经常会看到社区里面的某一个相册或者视频、博客下有一个分享的块,如下图:

     

    当你点其中一个按钮,如QQ空间,这篇内容就会被分享到你的QQ空间里面(若你没有登录QQ空间,则会提示你登录)。分享成功之后,这个就会作为你在QQ空间里面的一个分享。下面我就来讲讲具体实现吧。

    其实很简单,每一个稍微有点名气的社区,都会有这么一个链接,它接收一个url和一个title,然后就会把这条对应的信息做成为它下面的一个分享,比如人人网,它的这个链接是:http://share.renren.com/share/buttonshare.do?link=x&title=y 很明显,这里的x是url,y是title。

    了解了这点,那解决这个问题就太容易了。

    下面就给出这些个SNS的share链接的js实现。

    function ShareTo(obj)

    {

        //这两个变量是在页面初始化的时候赋值的

            var shareuri = encodeURIComponent(document.getElementById("<%=share_url.ClientID %>").value);

            var sharetitle = document.getElementById("<%=share_title.ClientID %>").value;

            var target_url;

            switch(obj)

            {

                case "qqzone":

                    target_url = "http://rc.qzone.qq.com/myhome/share/#action=post&url="+ shareuri;

                    break;

                case "baidu":

                    target_url="http://apps.hi.baidu.com/share/?url="+shareuri;

                    break;

                case "renren":

    target_url="http://share.renren.com/share/buttonshare.do?link="+shareuri+"&title="+sharetitle;

              break;

           case "kaixin": 

             target_url="http://www.kaixin001.com/repaste/share.php?rtitle="+sharetitle+"&rcontent="+sharetitle+"&rurl="+shareuri;

                    break;

                case "douban":

                    target_url="http://www.douban.com/recommend/?url="+shareuri+"&title="+sharetitle;

                    break;

                case "facebook":

                    target_url="http://www.facebook.com/sharer.php?u="+shareuri+"&t="+sharetitle;

                    break;

                case "twitter":

                    target_url="http://twitter.com/home?status="+sharetitle+" - "+shareuri;

                    break;

                case "buzz":

                    target_url="http://www.google.com/reader/link?url="+shareuri+"&title="+sharetitle;

                    break;

                case "digg":

                    target_url="http://digg.com/submit?phase=2&url="+shareuri+"&title="+sharetitle;

                    break;

            }

            window.open(target_url);

    }

     

    实现太简单,贻笑大方了。

  • 相关阅读:
    gc buffer busy/gcs log flush sync与log file sync
    给Oracle年轻的初学者的几点建议
    Android 编程下帧动画在 Activity 启动时自动运行的几种方式
    Android 编程下 Touch 事件的分发和消费机制
    Java 编程下 static 关键字
    Java 编程下 final 关键字
    Android 编程下模拟 HOME 键效果
    Why Are Thread.stop, Thread.suspend, Thread.resume and Runtime.runFinalizersOnExit Deprecated ?
    Extjs4 大型项目目录结构重构
    [转]SQLServer 2008 允许远程连接的配置方法
  • 原文地址:https://www.cnblogs.com/myself/p/1693657.html
Copyright © 2020-2023  润新知