web怎么將動態(tài)內(nèi)容分享到Facebook,Twitter等社交平臺?

    雖然國內(nèi)上這些社交平臺有一些困難,但作為主要的國外平臺,還是需要了解一下的。一起來看看,web怎么將動態(tài)內(nèi)容分享到Facebook,Twitter等社交平臺吧

    雖然國內(nèi)上這些社交平臺有一些困難,但作為主要的國外平臺,還是需要了解一下的。一起來看看,web怎么將動態(tài)內(nèi)容分享到Facebook,Twitter等社交平臺吧。

    對固定內(nèi)容的分享,我們可以查看文檔(Fb分享文檔,?TW card)后就大概知道怎么去做。但如果我們想對動態(tài)內(nèi)容進(jìn)行分享,比如我們想把用戶的昵稱加到分享里,應(yīng)該怎么做呢?
    我們可以先了解一下”分享”的大致過程。

    社交平臺如何對頁面抓取分享信息

    社交平臺是會抓取目標(biāo)頁面的代碼(注意是服務(wù)器返回的html代碼,由js操作后的html它們是抓不到的),
    然后對html中的<title/><meta/>標(biāo)簽進(jìn)行分析。一般來說<title/>會作為要分享的標(biāo)題,<meta name="description" content="">會作為分享的正文。這是最基本的兩個抓取點(diǎn)。
    另外的可選的抓取點(diǎn)則是其他meta標(biāo)簽,比如插入圖片的meta標(biāo)簽是:

    <meta property="og:image" content="圖片地址" /> <!-- facebook -->
    <meta name="twitter:image" content="圖片地址" /> <!-- twitter -->
    

    所有相關(guān)的meta寫法請參考平臺開發(fā)文檔,或者查看這篇文章來大致了解(英文的,我都能大概看懂,請放心看):
    What You Need to Know About Open Graph Meta …

    就是說如果你的html像這樣:

    ...
    <meta property="og:image" content="xxx" /> <!-- facebook -->
    <meta name="twitter:image" content="xxx" /><!-- twitter-->
    <meta name="description" content="雷好,我系要分享的內(nèi)容balabala...">
    <title>這是標(biāo)題</title>

    最后社交平臺會解析出來你的要分享的信息,并加上平臺自己的樣式(此處以twitter效果為例):

    web怎么將動態(tài)內(nèi)容分享到Facebook,Twitter等社交平臺?

    js分享操作

    有了填寫好<title><meta>的頁面。接下來是對頁面地址進(jìn)行分享的操作。

    Facebook

    首先先引入fb的sdk:

    <div id="fb-root"></div>
    <script>(function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      //下面填入一個你的app id,如果還沒,請在fb開發(fā)者平臺注冊一個
      js.src = "http://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8&appId={your app id}"; 
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>
    

    觸發(fā)事件進(jìn)行分享示例:

    var shareToFbBtn = document.getElementById('fb-btn');
    shareToFbBtn.onclick = function(){
      FB.ui({
        method: 'share',
        href: "htttp://www.eaxmple.com/share.html" //這里換成你的網(wǎng)址
      }, function(response){
        //分享回調(diào)
      })
    }

    Twitter

    簡單的tw分享并不需要調(diào)用sdk,只需要跳轉(zhuǎn)到一個特定頁面:

    var shareToTwBtn = document.getElementById('tw-btn');
    var twTitle = '輸入標(biāo)題';
    var twUrl = '要分享的頁面地址';
    shareToTwBtn.onclick = function(){
         window.open('http://twitter.com/home/?status='.concat(encodeURIComponent(twTitle)).concat(' ').concat(encodeURIComponent(twUrl))
    }

    服務(wù)端生成html

    當(dāng)我們知道如何對頁面進(jìn)行分享操作以后,就要考慮怎樣對這個頁面進(jìn)行動態(tài)內(nèi)容的生成將要被抓取的html代碼。這就需要服務(wù)端腳本寫一個頁面(一下為php實現(xiàn)),代碼解說加在注釋中方便查看:

    <?php
    //如果傳入image參數(shù)就生成相關(guān)的meta,以下幾條類似
    if(isset($_GET["image"])){
    	$image=$_GET["image"]; 
    	$meta_image_fb = '<meta property="og:image" content="'.$image.'" />';
    	$meta_image_tw = '<meta name="twitter:image" content="'.$image.'" />';
    }
    if(isset($_GET["description"])){
    	$description=$_GET["description"];
    }
    if(isset($_GET["title"])){
    	$title=$_GET["title"];
    	$meta_title = '<meta property="og:title" content="'.$title.'" />';
    	$meta_title = '<meta name="twitter:title" content="'.$title.'" />';
    }
    if(isset($_GET["type"])){ 
    	$type=$_GET["type"];
    	$meta_type_fb = '<meta property="og:type" content="'.$type.'" />';
    }
    if(isset($_GET["url"])){
    	$url=$_GET["url"]; 
    	$meta_url_fb = '<meta property="og:url" content="'.$url.'" />';
    	$meta_url_tw = '<meta name="twitter:url" content="'.$url.'" />';
    }
    //如果傳入video參數(shù)就生成video相關(guān)的meta
    if(isset($_GET["video"])){
    	$video=$_GET["video"]; 
    	$meta_video_fb = '<meta property="og:video" content="'.$video.'" /><meta property="og:video:type" content="video/mp4" /><meta property="og:video:width" content="487" />';
    	$meta_video_tw = '<meta name="twitter:player" content="'.$video.'" />';
    }
    if(isset($_GET["card"])){
    	$card=$_GET["card"]; 
    	$meta_card_tw = '<meta name="twitter:card" content="'.$card.'" />';
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <!-- 這段是移動端需要的meta設(shè)置,如果是pc請按需要做相關(guān)修改 -->
        <meta charset="utf-8">
        <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
        <meta content="yes" name="apple-mobile-web-app-capable">
        <meta content="black" name="apple-mobile-web-app-status-bar-style">
        <meta content="telephone=no" name="format-detection">
        <meta content="email=yes" name="">
    	
    	<?php echo isset($image)?$meta_image_fb:'' ?>
    	<?php echo isset($url)?$meta_url_fb:'' ?>
    	<?php echo isset($video)?$meta_video_fb:'' ?>
    	<?php echo isset($title)?$meta_title_fb:'' ?>
    	<?php echo isset($type)?$meta_type_fb:'' ?>
        <meta property="og:description" content="<?php echo isset($description)?$description:'' ?>" />
    	
    	<?php echo isset($image)?$meta_image_tw:'' ?>
    	<?php echo isset($url)?$meta_url_tw:'' ?>
    	<?php echo isset($video)?$meta_video_tw:'' ?>
    	<?php echo isset($title)?$meta_title_tw:'' ?>
    	<?php echo isset($card)?$meta_card_tw:'<meta name="twitter:card" content="summary" />' ?>
    	<meta name="twitter:site:id" content="">
    	<meta name="twitter:title" content="<?php echo isset($title)?$title:'' ?>">
    	<meta name="twitter:site" content="">
    	<meta name="twitter:description" content="<?php echo isset($description)?$description:'' ?>" />
    	<meta name="description" content="<?php echo isset($description)?$description:'' ?>">
        <title><?php echo isset($title)?$title:'' ?></title>
        <script type="text/javascript">
            //如果希望用戶點(diǎn)擊了你的分享內(nèi)容后跳轉(zhuǎn)到特定頁面
        	window.location.; 
        </script>
    </head>
    <body></body>
    </html>

    這樣,我們就可以利用上一節(jié)介紹的方法在你進(jìn)行分享操作的頁面(比如說這個頁面包含了fb分享按鈕)寫好js(假設(shè)你把剛才的share.php文件部署在http://www.example.com/share.php):

    var shareTitle = encodeURIComponent('我的昵稱是:'+userName); //假設(shè)你要在標(biāo)題中分享用戶名,需要先定義好userName
    var shareContent = encodeURIComponent('這里是要分享的內(nèi)容balabala....'); //如果內(nèi)容也不固定請傳入內(nèi)容
    var shareUrl = 'http://www.example.com/share.php?'+'title='+shareTitle+'&description='+shareContent; //如果有其他需要請拼接,比如+"&image="+ encodeURIComponent(shareImageUrl);
    //facebook
    var shareToFbBtn = document.getElementById('fb-btn');
    shareToFbBtn.onclick = function(){
      FB.ui({
        method: 'share',
        href: shareUrl 
      }, function(response){
        //分享回調(diào),可留空
      })
    }
    //twitter
    var shareToTwBtn = document.getElementById('tw-btn');
    shareToTwBtn.onclick = function(){
         window.open('http://twitter.com/home/?status='.concat(shareTitle).concat(' ').concat(encodeURIComponent(shareUrl))
    }

    到此就ok!

    最后幾句

    以上內(nèi)容僅作補(bǔ)充,下面的內(nèi)容可供各位參考:

    web怎么將動態(tài)內(nèi)容分享到Facebook,Twitter等社交平臺?-Npcink
    web怎么將動態(tài)內(nèi)容分享到Facebook,Twitter等社交平臺?-Npcink

    怎么添加QQ、微博、Twitter、Facebook的社交分享鏈接? - wordpress開發(fā)

    web怎么將動態(tài)內(nèi)容分享到Facebook,Twitter等社交平臺?-Npcink
    web怎么將動態(tài)內(nèi)容分享到Facebook,Twitter等社交平臺?-Npcink

    怎么將qrcode.js生成二維碼添加到網(wǎng)站上? - wordpress開發(fā)

    web怎么將動態(tài)內(nèi)容分享到Facebook,Twitter等社交平臺?-Npcink
    web怎么將動態(tài)內(nèi)容分享到Facebook,Twitter等社交平臺?-Npcink

    開放圖譜協(xié)議

    網(wǎng)站

    Homeland - 精美小巧的開源社區(qū)論壇系統(tǒng)

    2020-4-23 23:08:35

    網(wǎng)站

    開放圖譜協(xié)議

    2020-5-20 20:54:00

    ??
    Npcink上的部份代碼及教程來源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
    無意侵害您的權(quán)益,請發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
    0 條回復(fù) A文章作者 M管理員
      暫無討論,說說你的看法吧
    ?
    個人中心
    購物車
    優(yōu)惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 亚洲AV成人一区二区三区在线看 | 国产在线精品一区二区在线看| 国产一区中文字幕| 人妻互换精品一区二区| 国产一区二区三区露脸| 国产成人精品一区二区A片带套| 国产精品va无码一区二区| 精品国产日韩亚洲一区91| 精品一区二区三区免费毛片| 东京热人妻无码一区二区av| 在线视频一区二区| 国产精品亚洲一区二区三区在线观看| 亚洲一区二区三区在线网站| 国产一区二区三区亚洲综合| 国产精品无码一区二区三级 | 久草新视频一区二区三区| 国精品无码一区二区三区在线蜜臀 | a级午夜毛片免费一区二区| 一区二区三区精品| 好吊妞视频一区二区| 国产成人一区二区三中文| 国产日韩精品一区二区三区在线| 精品一区二区三区3d动漫| 亚洲福利秒拍一区二区| 日韩精品一区二区三区四区| 国产精品99无码一区二区| 亚洲人AV永久一区二区三区久久| 国产情侣一区二区| 香蕉久久AⅤ一区二区三区| 视频在线一区二区| 国产无套精品一区二区| 国产成人无码AV一区二区在线观看| 日韩AV片无码一区二区不卡| 一区二区精品视频| 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲毛片αv无线播放一区| 精品一区二区三区色花堂| 中文字幕日韩人妻不卡一区| 高清国产AV一区二区三区| 麻豆果冻传媒2021精品传媒一区下载| 99精品一区二区免费视频|