簡體   English   中英

如何在不使用URL的情況下在Facebook上分享我的新聞

[英]How can I share my news in facebook without using an URL

我正試圖在我的項目中加入一個按鈕,允許人們在Facebook上分享文章。

我希望在facebook分享窗口中顯示用戶點擊分享的標題和新聞圖片。

但是我沒有這樣做,因為在這個項目中,我展示了每個新聞的摘要,每個新聞都有一個鏈接“閱讀全文”和一個“分享”的鏈接。

問題是,當我點擊“閱讀全文”時,我的完整文章在一個沒有任何網址的fancybox中打開...所以這是我的難度,如何在沒有網址的情況下在facebook上分享我的新聞?

我真的很難理解每條新聞如何在Facebook上分享,因為我的新聞沒有網址。

你有沒有看到某種方式來實現我的目標?

這是我的PHP:

//while exist news records in database

while ($result = $readNews->fetch(PDO::FETCH_ASSOC)){
    echo '<article class="news">';
        echo '<img class="img" src="'.BASE.'/uploads/news/'.$result['thumb'].'"/> ';
        echo '<h2>'.$result['title'].'<br /></h2>';
        echo '<span>'$result['date']).'</strong></span>';
        echo '<p>'.$result['content].'
            <a  id="'.$result['id_news'].'" 
            class="fancybox" href="#window_fancybox'.$result['id_news'].'">
            See full article </a>
        </p>';  

        //my share link
        echo '<a title="share" class="share" href="'.BASE.'">Share</a>';

        //When I click in "See full article"
        // it will open a fancybox with full article 
        echo '<div id="window_fancybox'.$result['id_news'].'" class="modal">';
        echo '<h2>'.$resultt['title'].'</h2>';
        echo '<span>'.$result['date'].'</span><br />';
        echo '<img class="img" src="'.BASE.'/uploads/news/'.$result['thumb'].'"/>';
        echo '<p>'.$result['content'].'</p>';
        echo '<span class="close_fancy">Close modal</span>';
        echo '</div>';
    echo '</article>';
}

這是我在Facebook上分享的腳本:

$('.share').click(function(){
    urlshare = $(this).attr('href');
    alert(urlshare);
    window.open('http://www.facebook.com/sharer.php?u=' +urlshare,'My website',"width=500,height=400,status=yes,toolbar=no,menubar=no,location=no");
    return false;
})

你可以在這里看到我的例子:(我的fancybox共享窗口全部打開白色)

http://ei-test.netau.net/#fancybox_window1

沒有自己測試,但這是我理解它:

當懸停時(也可能在點擊時) 查看完整文章 ,以#window_fancybox_SOMETHING_結尾的URL應該是apear。

這是您需要提供給Facebook的網址。

試試這個,我知道這是不好的補丁,但它的工作原理:)

$(document).ready(function() {
    var popupURL = location.href.split("#");
    if(popupURL.length > 1) {
        var action = popupURL[popupURL.length-1];
        $('a.fancybox[href="#'+action+'"]').trigger("click");
    }
});

我想知道的事情,您是否使用netau主機或類似的東西? 這些域名及其子域名由Facebook保護。 當您在https://www.facebook.com/sharer/sharer.php?u=中使用它時,它會給出空白頁面。 如果你知道的話,我會寫下這些線來了解你。

並且,如果您使用的是有效的網址並且沒有從Facebook獲得保護,那么您想要的內容就不會出現大問題。 你不會得到那個空白頁面。 但你的想法中有問題的一點是,facebook從你的頁面的html獲取標題,描述和圖像“新聞縮略圖”,所以當每個人點擊分享按鈕時,獲得相同的標題,描述和縮略圖。 所以要處理我建議在單個頁面中的場景后面制作一個小腳本來處理它。 如果這有意義告訴我,我會很樂意提供幫助。

轉到Facebook開發人員頁面並創建一個應用程序並將其添加到您頁面的正文中

<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;
        js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=YOUR_APP_ID&version=v2.0";
        fjs.parentNode.insertBefore(js, fjs);
    } (document, 'script', 'facebook-jssdk'));
</script>

用你從facebook獲得的appid替換YOUR_APP_ID

並將其添加到您想要分享按鈕的位置..

<div class="fb-like" data-layout="standard" data-action="like" data-show-faces="false"
                data-share="true" width="100px">

為Facebook使用的共享圖像添加元標記

<meta property="og:image" content="http://www.example.com/images/logo.png" />

您的托管似乎不支持在Facebook上分享。 在Facebook上分享任何鏈接的短代碼鏈接是:

http://www.facebook.com/sharer.php?u= &t= 

其中, uurlt是網頁的title

現在,當我嘗試使用以下鏈接在Facebook上分享您的文章時:

https://www.facebook.com/sharer/sharer.php?u=http://ei-test.netau.net/&t=United%20FC%20win%20the%20game

什么都沒有顯示出來。 但是,如果您嘗試其他鏈接,例如:

https://www.facebook.com/sharer/sharer.php?u=http://www.infismash.com/hover-social-buttons-wordpress/&t=United%20FC%20win%20the%20game

它清楚地顯示了Facebook上的共享選項。

基本上,我認為如果您嘗試其他主機,您的問題將得到解決。 此外,請記住,許多Facebook不支持許多免費托管網站。

由於您想要共享單獨的modal windows ,您可以嘗試為每個模態窗口提供一個標識符,例如#identifier-1.fancybox-overlay .fancybox-overlay-fixed 看看identifier-1 這個1將是每個帖子的id 因此,當任何人點擊您的鏈接(如http://ei-test.netau.net/#identifier-1 ,將打開一個窗口,其中模式處於活動狀態。

Facebook sharer.php已被棄用,您需要使用他們的“分享對話”,這需要在Facebook上為您的域設置APP ID。

https://www.facebook.com/dialog/share?
app_id=145634995501895
&display=popup
&href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F
&redirect_uri=https%3A%2F%2Fdevelopers.facebook.com%2Ftools%2Fexplorer

但是,此方法會從您提供的網址中提取元數據,您可以使用其JavaScript API為您的共享提供唯一的標題,說明和網址。

參考: https//developers.facebook.com/docs/sharing/reference/share-dialog#redirect https://developers.facebook.com/docs/javascript/quickstart/v2.1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM