社交按钮不共享当前页面信息

Social Buttons do not share the current page info

我一直在尝试创建既能自动捕获当前页面 url 又能捕获页面描述的社交按钮。

我已经回答了很多问题和答案(在 Whosebug 中找到)并按照步骤操作,但我遇到了社交按钮行为的某种问题。

  1. facebook:弹出一个新的 window 并提示我 'TO ENTER AN URL TO SHARE'。新页面的 url 是:https://www.facebook.com/sharer/sharer.php?u
  2. twitter:简单地问我:'WHATS HAPPENING?'。弹窗url为:https://twitter.com/intent/tweet?text=&url=about%3Ablank&original_referer=

  3. pinterest:在描述区,只是追加:@Url.Encode(PageTitle) popurl是:https://www.pinterest.com/pin/create/button/?url=%40Url.Encode(Request.Url.ToString())&description=%40Url.Encode(PageTitle)

简而言之,none 个按钮似乎生成了任何页面 url,也没有生成描述和标题。

这是我的文件: index.html

    <a class="soc-facebook popup" href="javascript:window.location=%22http://www.facebook.com/sharer.php?u=%22+encodeURIComponent(document.location)+%22&#38;t=%22+encodeURIComponent(document.title)" title="Share on Facebook..." target="_blank"></a>
    <a class="soc-twitter popup" href="javascript:window.location=%22https://twitter.com/share?url=%22+encodeURIComponent(document.location)+%22&text=%22+encodeURIComponent(document.title)" target="_blank"></a>
    <a class="soc-pinterest popup" href="http://pinterest.com/pin/create/button/?url=@Url.Encode(Request.Url.ToString())&description=@Url.Encode(PageTitle)" target="_blank" title="Pin it"></a>
    <a class="soc-google popup" href="https://plusone.google.com/_/+1/confirm?hl=en&url=<?php if(is_home()){echo home_url();}else{the_permalink();} ?>" target="_blank" title="Plus one this page on Google"></a>
    <a class="soc-linkedin soc-icon-last popup" href="http://www.linkedin.com/shareArticle?mini=true&url=<?php if(is_home()){echo home_url();}else{the_permalink();} ?>" target="_blank"></a>

pop.js

$(function() {
    // link selector and pop-up window size
    var Config = {
        Link: "a.popup",
        Width: 500,
        Height: 500
};

// add handler links
var slink = document.querySelectorAll(Config.Link);
for (var a = 0; a < slink.length; a++) {
    slink[a].onclick = PopupHandler;
}

// create popup
function PopupHandler(e) {

    e = (e ? e : window.event);
    var t = (e.target ? e.target : e.srcElement);

    // popup position
    var
        px = Math.floor(((screen.availWidth || 1024) - Config.Width) / 2),
        py = Math.floor(((screen.availHeight || 700) - Config.Height) / 2);

    // open popup
    var popup = window.open(t.href, "popup", 
        "width="+Config.Width+",height="+Config.Height+
        ",left="+px+",top="+py+
        ",location=0,menubar=0,toolbar=0,status=0,scrollbars=1,resizable=1");
    if (popup) {
        popup.focus();
        if (e.preventDefault) e.preventDefault();
        e.returnValue = false;
    }

    return !!popup;
    }

}());

我可能哪里出错了?

谢谢!

这里的技巧是将 Open Graph 元标记添加到正在共享的页面。 Facebook 使用这些元标记来捕获页面元数据。如果您不在页面上包含元标记,那么您至少可以明确输入 Facebook 分享者的参数。

有关如何包含这些标签的概要,请参阅此页面:

http://ogp.me/

这是您应该使用的网址

对于推特: https://twitter.com/intent/tweet?text=MyTweetText&via=MyUser&url=http://google.com

对于 pinterest: https://www.pinterest.com/pin/create/button/?description=desc&media=someUrlImage&url=http://google.com

您可以使用此页面创建网址:http://www.sharelinkgenerator.com/