微信分享

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>微信分享模板</title>
    <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
    <!--<script src="http://s0.ifengimg.com/static/js/WeiXinDataNative_b7a076e2.js"></script>-->
</head>
<body>
<script>
    var shareID = 5;
    var wxData = {
        "imgUrl": 'http://s0.ifengimg.com/2016/12/12/222594405600f0a20768d07660309779.jpg', //分享图片地址
        "link": window.location.href, //分享页面链接
        "title": "凤凰早班车 05.03", //分享标题
        "desc": "楼市“冷热”格局悄然逆转 打破“怪圈”有后招" //分享描述
    };

    var shareWXData;
    var peopleWXConfig;
    shareWXData = function() {
        peopleWXConfig.debug = false; //关闭调试模式
        peopleWXConfig.jsApiList = [
            'checkJsApi',
            'onMenuShareTimeline',
            'onMenuShareAppMessage',
            'onMenuShareQQ',
            'onMenuShareWeibo'
        ];
        wx.config(peopleWXConfig);
        wx.ready(function() {
            wx.onMenuShareTimeline({ //分享到朋友圈
                title: wxData.title, // 分享标题
                link: wxData.link, // 分享链接
                imgUrl: wxData.imgUrl, // 分享图标
                success: function() {
                    // 用户确认分享后执行的回调函数
                    //alert(wxData.link + "|" + wxData.imgUrl);
                    if(addNames){
                        addNames();
                    }
                },
                cancel: function() {
                    // 用户取消分享后执行的回调函数
                },
                trigger: function() { // 用戶触发分享事件后的回调函数
                    this.title = wxData.title;
                }
            });
            wx.onMenuShareAppMessage({ //分享给朋友
                title: wxData.title, // 分享标题
                link: wxData.link, // 分享链接
                imgUrl: wxData.imgUrl, // 分享图标
                desc: wxData.desc, // 分享描述
                type: '', // 分享类型,music、video或link,不填默认为link
                dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
                success: function() {
                    // 用户确认分享后执行的回调函数
                    // alert(wxData.link + "|" + wxData.imgUrl);
                    if(addNames){
                        addNames();
                    }
                },
                cancel: function() {
                    // 用户取消分享后执行的回调函数
                },
                trigger: function() { // 用戶触发分享事件后的回调函数
                    this.title = wxData.title;
                }
            });
            wx.onMenuShareQQ({ //分享到QQ
                title: wxData.title, // 分享标题
                link: wxData.link, // 分享链接
                imgUrl: wxData.imgUrl, // 分享图标
                desc: wxData.desc, // 分享描述
                success: function() {
                    // 用户确认分享后执行的回调函数
                },
                cancel: function() {
                    // 用户取消分享后执行的回调函数
                },
                trigger: function() { // 用戶触发分享事件后的回调函数
                    this.title = wxData.title;
                }
            });
            wx.onMenuShareWeibo({ //分享到腾讯微博
                title: wxData.title, // 分享标题
                link: wxData.link, // 分享链接
                imgUrl: wxData.imgUrl, // 分享图标
                desc: wxData.desc, // 分享描述
                success: function() {
                    // 用户确认分享后执行的回调函数
                },
                cancel: function() {
                    // 用户取消分享后执行的回调函数
                },
                trigger: function() { // 用戶触发分享事件后的回调函数
                    this.title = wxData.title;
                }
            });
        });
        wx.error(function(res) {
            //alert('验证出错:' + JSON.stringify(res))
            // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
        });
    };


    /*//jsonp 提交數據
     importJs({
     url:"http://opencity.house.ifeng.com/weixin/config/info",//必填
     data:{},//提交数据
     cbName:"",//非必填,默认"cb"
     success:function(){},//提交成功回调函数
     timeout:100,//超时时间
     error:function(){}//超时调用函数
     }
     });
     */
    function importJs(options) {
        options = options || {};
        if (!options.url) {
            return;
        }
        options.data = options.data || {};
        options.cbName = options.cbName || "_cb";
        options.timeout = options.timeout || 0;
        var arr = [];
        var fnName = "jsonp_" + Math.random();
        fnName = fnName.replace(".", "");
        options.data[options.cbName] = fnName;
        for (var i in options.data) {
            arr.push(i + "=" + encodeURIComponent(options.data[i]));
        }
        var str = arr.join("&");
        window[fnName] = function(json) {
            options.success && options.success(json);

            oHead.removeChild(oS);
            window[fnName]=null;
            clearTimeout(timer);
        }
        var oS = document.createElement("script");
        oS.src = options.url + "?" + str;
        var oHead = document.getElementsByTagName("head")[0];
        oHead.appendChild(oS);

        if(options.timeout){
            var timer=setTimeout(function(){
                window[fnName] = function(){};
                options.error && options.error();
            },options.timeout);
        }
    }
    window.onload = function() {
        importJs({
            url:"http://opencity.house.ifeng.com/weixin/config/info",
            data:{id:shareID,_url:window.location.href},
            cbName:"_cb",
            success:function(json){
                //console.log(json);
                if(json.errno == 0){
                    peopleWXConfig = json.data;
                    setTimeout(function(){
                        shareWXData();
                    },200);
                }

            }
        });
    };
</script>
</body>
</html>

以上是原生版

以下是jquery版,记得引入jQuery

var shareWXData;
var peopleWXConfig;
shareWXData = function() {
	peopleWXConfig.debug = false;//关闭调试模式
	peopleWXConfig.jsApiList = [
		'checkJsApi',
		'onMenuShareTimeline',
		'onMenuShareAppMessage',
		'onMenuShareQQ',
		'onMenuShareWeibo'
	];
	wx.config(peopleWXConfig);
	wx.ready(function(){
		wx.onMenuShareTimeline({//分享到朋友圈
			title: wxData.title, // 分享标题
			link: wxData.link, // 分享链接
			imgUrl: wxData.imgUrl, // 分享图标
			success: function() {
				// 用户确认分享后执行的回调函数
				//alert(wxData.link + "|" + wxData.imgUrl);
				if(addNames){
					addNames();
				}
			},
			cancel: function() {
				// 用户取消分享后执行的回调函数
			},
			trigger: function() { // 用戶触发分享事件后的回调函数
				this.title = wxData.title;
			}
		});
		wx.onMenuShareAppMessage({//分享给朋友
			title: wxData.title, // 分享标题
			link: wxData.link, // 分享链接
			imgUrl: wxData.imgUrl, // 分享图标
			desc: wxData.desc, // 分享描述
			type: '', // 分享类型,music、video或link,不填默认为link
			dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
			success: function() {
				// 用户确认分享后执行的回调函数
				// alert(wxData.link + "|" + wxData.imgUrl);
				if(addNames){
					addNames();
				}
			},
			cancel: function() {
				// 用户取消分享后执行的回调函数
			},
			trigger: function() { // 用戶触发分享事件后的回调函数
				this.title = wxData.title;
			}
		});
		wx.onMenuShareQQ({//分享到QQ
			title: wxData.title, // 分享标题
			link: wxData.link, // 分享链接
			imgUrl: wxData.imgUrl, // 分享图标
			desc: wxData.desc, // 分享描述
			success: function() {
				// 用户确认分享后执行的回调函数
			},
			cancel: function() {
				// 用户取消分享后执行的回调函数
			},
			trigger: function() { // 用戶触发分享事件后的回调函数
				this.title = wxData.title;
			}
		});
		wx.onMenuShareWeibo({//分享到腾讯微博
			title: wxData.title, // 分享标题
			link: wxData.link, // 分享链接
			imgUrl: wxData.imgUrl, // 分享图标
			desc: wxData.desc, // 分享描述
			success: function() {
				// 用户确认分享后执行的回调函数
			},
			cancel: function() {
				// 用户取消分享后执行的回调函数
			},
			trigger: function() { // 用戶触发分享事件后的回调函数
				this.title = wxData.title;
			}
		});
	});
	wx.error(function(res) {
		//alert('验证出错:' + JSON.stringify(res))
		// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
	});
};
function importJs(){
	jQuery.ajax({
		url: "http://opencity.house.ifeng.com/weixin/config/info",
		data: {id:shareID,_url:window.location.href},
		dataType: 'jsonp',
		jsonp: '_cb',
		success: function(json){
			if(json.errno == 0){
				peopleWXConfig = json.data;
				setTimeout(function(){
					shareWXData();
				}, 200)
			}
		}
	});
	
}
jQuery(function() {
	importJs();
})

  

转载于:https://www.cnblogs.com/mbyund/p/5485430.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值