js社交分享功能
2019獨角獸企業重金招聘Python工程師標準>>>
/**微博轉發?????* para: {id:'sohu',isNeedLoginTip:'xxxxx?',loginedMethod:getJobUserLink}
?????* 默認調用方式:snsShareFun({id:'tqq',isNeedLoginTip:''})
?????* 調用該方法的前提條件:
?????* 1.需要為本頁面的內容隱藏域:tips_mask_share_title 賦值
?????* 2.需要為本頁面的URL隱藏域:tips_mask_share_url 賦值
?????* 3.需要在調用本方法的頁面聲明變量 var jobID (工作ID) 并為給變量賦值
?????* 4.用到全局變量變量:isLogin,保證該值的正確性
?????*/
????var goUrl;
????function snsShareFun(obj){
????????//微博類型
????????????????var v_type;
????????//跳轉到微博的URL
????????????????var url ;
????????//新開窗口tip
????????????????var tip ;
????????????????//設定寬度
????????????????var temp_width = obj.width;
????????????if(typeof(temp_width)=="undefined"){
????????????????temp_width = screen.availWidth-400;
????????????????}
????????????//設定高度
????????????var temp_height = obj.height;
????????????if(typeof(temp_height)=="undefined"){
????????????????temp_height = screen.availHeight-200;
????????????}
????????????//設定分享內容
????????????var shareTitle = obj.shareTitle;
????????????if(typeof(shareTitle)=="undefined"){
????????????????shareTitle = share_title;
????????????????}
????????????//設定分享鏈接
????????????????var shareUrl = obj.shareUrl;
????????????????if(typeof(shareUrl)=="undefined"){
????????????????????????shareUrl = share_url;
????????????????}
????????if (obj.id=="sohu"){
????????????????????????url="http://t.sohu.com/third/post.jsp?url=?share_url&title=?share_title&content=utf-8";
????????????tip="轉播到搜狐微博";
????????????v_type="0";
????????????????}else if (obj.id=="tqq"){
????????????????????????url="http://v.t.qq.com/share/share.php?title=?share_title&url=?share_url&site=www.aceona.com&appkey="+encodeURI('7c3450bbecd247758089ee8df5cf546c');
????????????tip="轉播到騰訊微博";
????????????v_type="1";
????????????????}else if (obj.id=="tsina"){
????????????????????????url="http://v.t.sina.com.cn/share/share.php?title=?share_title&url=?share_url&appkey=" + 2937052444+ "&site=www.aceona.com&content=utf-8";
????????????tip="轉播到新浪微博";
????????????v_type="2";
????????????????}else if (obj.id=="qzone"){
????????????????????????url="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=?share_url&title=?share_title";
????????????tip="轉播到QQ空間";
????????????v_type="3";
????????????????}else if (obj.id=="bsh"){
????????????????????????url="http://bai.sohu.com/share/blank/add.do?link=?share_url&title=?share_title";
????????????tip="轉播到白社會";
????????????v_type="4";
????????????????}else if (obj.id=="douban"){
????????????????????????url="http://www.douban.com/recommend/?url=?share_url&title=?share_title";
????????????tip="轉播到豆瓣網";
????????????v_type="5";
????????????????}else if (obj.id=="xiaonei"){
????????????????????????url="http://share.renren.com/share/buttonshare.do?link=?share_url&title=?share_title";
????????????tip="轉播到人人網";
????????????v_type="6";
????????????????}
????????goUrl = url;
????????????????var isNeedLoginTip = obj.isNeedLoginTip;
????????????????var loginedMethod = obj.loginedMethod;
????????????????//判斷是否需要登陸
????????????????if(typeof(isNeedLoginTip)!="undefined")
????????????????{
????????????????????????getCurrentUser(function(result){
????????????????????????????
????????????????????????????if(result.RESULT=="unauthorized"){//未登陸
????????????????????????????????if(isNeedLoginTip==''){
????????????????????????????????????????isNeedLoginTip='登陸后分享可能會獲得推薦獎金,確認嗎?';
????????????????????????????????}
????????????????????????????????????????jConfirm(isNeedLoginTip,"溫馨提示",
?????????????????????????????????????????function(flag)
?????????????????????????????????????????{ ??
?????????????????????????????????????????????????if(flag)
?????????????????????????????????????????????????{
?????????????????????????????????????????????????????showLoginDiv();
?????????????????????????????????????????????????}
?????????????????????????????????????????????????else
?????????????????????????????????????????????????{
?????????????????????????????????????????????????????????commonShare(goUrl,tip,temp_width,temp_height,shareUrl,shareTitle);
?????????????????????????????????????????????????}
????????????????????????????????});
????????????????????????????}else{//已經登陸
????????????????????????????????????????if(typeof(loginedMethod)!="undefined")
????????????????????????????????????????{
????????????????????????????????????????????????loginedMethod(v_type,callback);
????????????????????????????????????????}else{
????????????????????????????????????????????????getJobUserLink({async:false,post_id:jobID,share_type:v_type},function(data){
????????????????????????????????????????????????????????if(data!=null)
????????????????????????????????????????????????????????{
????????????????????????????????????????????????????????????????$("#tips_mask_share_url").val(data);
????????????????????????????????????????????????????????}
????????????????????????????????????????????????????????commonShare(goUrl,tip,temp_width,temp_height,shareUrl,shareTitle);
????????????????????????????????????????????????});
????????????????????????????????????????}
????????????????????????????????}
????????????????????});
????????????????}else
????????????????{
????????????????????????commonShare(goUrl,tip,temp_width,temp_height,shareUrl,shareTitle);
????????????????}
????} // end snsShareFun
????????function commonShare(url,tip,temp_width,temp_height,shareUrl,shareTitle)
????{
????????????????//定義新開窗口樣式
????????????var defaultFeatures={
????????????????scrollbars:"no",
????????????????status:"yes",
????????????????resizable:"no",
????????????????titlebar:"no",
????????????????width:temp_width,
????????????????height:temp_height,
????????????????top:Math.ceil(100),
????????????????left:Math.ceil(200)
????????};
????????var content = url.replace("?share_url",encodeURIComponent(shareUrl)).replace("?share_title",encodeURIComponent(shareTitle));
????????window.open(content,tip,defaultFeatures);
????}
????
????????//獲取url
????????function getJobUserLink(param, method) {
????????????????$.get("/action?UserShareAction=0&action=getShareLink", param,
????????????????????????????????function(data) {
????????????????????????????????????????if (typeof method == "function") {
????????????????????????????????????????????????method(data);
????????????????????????????????????????} else {
????????????????????????????????????????????????alert("method param error");
????????????????????????????????????????}
????????????????????????????????});
????????}
轉載于:https://my.oschina.net/figoisxjs/blog/127495
總結
- 上一篇: MVC Action Filters 总
- 下一篇: ORA-03113: end-of-fi