以下链接用于在Twitter上共享页面:
Facebook是否有不需要JavaScript的类似选项?
我知道http://facebook.com/sharer.php,但这需要手动插入get参数(我不打算这样做)或使用JavaScript(不适合我的情况)。
以下链接用于在Twitter上共享页面:
Facebook是否有不需要JavaScript的类似选项?
我知道http://facebook.com/sharer.php,但这需要手动插入get参数(我不打算这样做)或使用JavaScript(不适合我的情况)。
Answers:
你可以用
<a href="https://www.facebook.com/sharer/sharer.php?u=#url" target="_blank">Share</a>
当前,如果不传递当前网址作为参数,则没有共享选项。您可以使用间接方式来实现。
示例ASP .Net代码:
public partial class Sharer : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var referer = Request.UrlReferrer.ToString();
if(string.IsNullOrEmpty(referer))
{
// some error logic
return;
}
Response.Clear();
Response.Redirect("https://www.facebook.com/sharer/sharer.php?u=" + HttpUtility.UrlEncode(referer));
Response.End();
}
}
href
的页面的URL ,因此可以用页面的URL 替换页面中的“ #url” 。但是,使用twitter.com/share链接不需要您插入共享页面的URL。
诗2:正如贾斯汀指出的,请查看Facebook的新“共享对话框”。将保留后代的答案。这个答案已经过时了
简短的回答,是的,Facebook也有类似的选择,不需要javascript(嗯,有一些非强制性的最小内联JS,请参见注释)。
附: onclick
部分仅可以帮助您自定义弹出窗口,但不需要代码才能正常工作……没有它就可以正常工作。
脸书
<a href="https://www.facebook.com/sharer/sharer.php?u=URLENCODED_URL&t=TITLE"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;"
target="_blank" title="Share on Facebook">
</a>
推特
<a href="https://twitter.com/share?url=URLENCODED_URL&via=TWITTER_HANDLE&text=TEXT"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;"
target="_blank" title="Share on Twitter">
</a>
http://www.facebook.com/sharer.php
为http://www.facebook.com/sharer/sharer.php
TWITTER_HANDLE
参数?
您可以在代码中包含JavaScript,但仍支持非JavaScript用户。
如果用户在未启用JavaScript的情况下单击以下任意链接,则只需打开一个新标签即可:
<!-- Remember to change URL_HERE, TITLE_HERE and TWITTER_HANDLE_HERE -->
<a href="http://www.facebook.com/sharer/sharer.php?u=URL_HERE&t=TITLE_HERE" target="_blank" class="share-popup">Share on Facebook</a>
<a href="http://www.twitter.com/intent/tweet?url=URL_HERE&via=TWITTER_HANDLE_HERE&text=TITLE_HERE" target="_blank" class="share-popup">Share on Twitter</a>
<a href="http://plus.google.com/share?url=URL_HERE" target="_blank" class="share-popup">Share on Googleplus</a>
因为它们包含 share-popup
类,所以我们可以轻松地在jQuery中引用它们,并更改窗口大小以适合我们要共享的域:
$(“。share-popup”)。click(function(){ var window_size =“ width = 585,height = 511”; var url = this.href; var domain = url.split(“ /”)[2]; 切换(域){ 案例“ www.facebook.com”: window_size =“ width = 585,height = 368”; 打破; 案例“ www.twitter.com”: window_size =“ width = 585,height = 261”; 打破; 案例“ plus.google.com”: window_size =“ width = 517,height = 511”; 打破; } window.open(url,``,'menubar = no,toolbar = no,resizable = yes,scrollbars = yes,'+ window_size); 返回false; });
不再有难看的内联JavaScript,或无数的窗口大小更改。而且它仍然支持非JavaScript用户。
$(".share-popup").each(function(){ var href = $( this ).attr( "href" ); href = href.replace( "URL_HERE", document.URL ); $( this ).attr( "href", href ); });
您可以使用Feed URL“直接URL”选项,如Feed对话框页面中所述:
您还可以通过将用户显式定向到/ dialog / feed端点来调出Feed对话框:
https://www.facebook.com/dialog/feed?
app_id=123050457758183&
link=https://developers.facebook.com/docs/reference/dialogs/&
picture=http://fbrell.com/f8.jpg&
name=Facebook%20Dialogs&
caption=Reference%20Documentation&
description=Using%20Dialogs%20to%20interact%20with%20users.&
redirect_uri=http://www.example.com/response`
看起来他们不再在文档的任何地方提及“共享”;它已被添加到Feed中的概念所取代。
我知道这是一个旧线程,但我必须为一个项目做类似的事情,我想分享2019年的解决方案。
新的 dialog
API可以获取参数,并且无需任何JavaScript就可以使用。
这些参数是:
app_id
(需要)href
您希望共享的页面的URL(如果没有通过)将使用当前URL。hashtag
必须有#
符号,例如#amsterdamquote
与链接共享的文本您可以创建没有任何JavaScript的href。
<a href="https://www.facebook.com/dialog/feed?&app_id=APP_ID&link=URI&display=popup"e=TEXT&hashtag=#HASHTAG" target="_blank">Share</a>
要考虑的一件事是,Facebook正在使用Open Graph,因此如果未正确设置OG标签,则可能无法获得所需的结果。
Can't Load URL: The domain of this URL isn't included in the app's domains. To be able to load this URL, add all domains and subdomains of your app to the App Domains field in your app settings.
我在本地主机上。有任何想法吗?我试图在FB 的Basic
和Advanced
设置中都包含多个域,但是没有运气。
display=popup
不是在桌面上工作。
这些答案中的许多不再适用,所以这是我的:
使用Facebook开发人员页面中描述的“共享”对话框。
例:
https://www.facebook.com/dialog/share?
app_id=<your_app_id>
&display=popup
&href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F
&redirect_uri=https%3A%2F%2Fdevelopers.facebook.com%2Ftools%2Fexplorer
但是您必须输入注册的app_id,href和重定向uri。
redirect_uri
不再需要。
请访问该网站,您将获得Facebook,google +和Twitter共享链接http://www.sharelinkgenerator.com/
不推荐使用http://facebook.com/sharer.php
您有几种选择(使用iframe版本):
http://developers.facebook.com/docs/reference/plugins/like/
http://developers.facebook.com/docs/reference/plugins/send/
https://developers.facebook.com/docs/reference/plugins/like-box/
如果您想在更多论坛上分享,这里是解决方案。.https ://github.com/bradvin/social-share-urls
对于那些希望使用javascript但又不想使用Facebook javascript库的用户:
<a id="shareFB" href="https://www.facebook.com/sharer/sharer.php?u=URLENCODED_URL&t=TITLE"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;" target="_blank" title="Share on Facebook">Share on Facebook</a>
<script type="text/javascript">document.getElementById("shareFB").setAttribute("href", "https://www.facebook.com/sharer/sharer.php?u=" + document.URL);</script>
即使禁用了javascript也可以使用,但是如果启用了javascript,则会为您提供一个带有共享预览的弹出窗口。
在不使用任何Facebook js间谍软件的情况下,节省了一次点击的时间:)
添加到@ rybo111的解决方案中,这是LinkedIn共享的内容:
<a href="http://www.linkedin.com/shareArticle?mini=true&url={articleUrl}&title={articleTitle}&summary={articleSummary}&source={articleSource}" target="_blank" class="share-popup">Share on LinkedIn</a>
并将其添加到您的Javascript:
case "www.linkedin.com":
window_size = "width=570,height=494";
break;
根据LinkedIn文档:https : //developer.linkedin.com/docs/share-on-linkedin(请参阅“自定义网址”部分)
对于感兴趣的任何人,我在带有LinkedIn徽标的Rails应用程序中使用了此代码,因此如果有帮助,请参见以下代码:
<%= link_to image_tag('linkedin.png', size: "50x50"), "http://www.linkedin.com/shareArticle?mini=true&url=#{job_url(@job)}&title=#{full_title(@job.title).html_safe}&summary=#{strip_tags(@job.description)}&source=SOURCE_URL", class: "share-popup" %>
如何分享内容:https : //developers.facebook.com/docs/share/
您必须选择在不使用JS的情况下使用不推荐使用的功能,并每天检查一下,或者按照使用JS的方式进行娱乐。