社交按钮不共享当前页面信息
Social Buttons do not share the current page info
我一直在尝试创建既能自动捕获当前页面 url 又能捕获页面描述的社交按钮。
我已经回答了很多问题和答案(在 Whosebug 中找到)并按照步骤操作,但我遇到了社交按钮行为的某种问题。
- facebook:弹出一个新的 window 并提示我 'TO ENTER AN URL TO SHARE'。新页面的 url 是:https://www.facebook.com/sharer/sharer.php?u
twitter:简单地问我:'WHATS HAPPENING?'。弹窗url为:https://twitter.com/intent/tweet?text=&url=about%3Ablank&original_referer=
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&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 分享者的参数。
有关如何包含这些标签的概要,请参阅此页面:
这是您应该使用的网址
对于推特:
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/
我一直在尝试创建既能自动捕获当前页面 url 又能捕获页面描述的社交按钮。
我已经回答了很多问题和答案(在 Whosebug 中找到)并按照步骤操作,但我遇到了社交按钮行为的某种问题。
- facebook:弹出一个新的 window 并提示我 'TO ENTER AN URL TO SHARE'。新页面的 url 是:https://www.facebook.com/sharer/sharer.php?u
twitter:简单地问我:'WHATS HAPPENING?'。弹窗url为:https://twitter.com/intent/tweet?text=&url=about%3Ablank&original_referer=
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&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 分享者的参数。
有关如何包含这些标签的概要,请参阅此页面:
这是您应该使用的网址
对于推特: 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/