Facebook share link without JavaScript
以下链接用于在Twitter上共享页面:
http://twitter.com/share
Facebook是否有不需要JavaScript的类似选项?
我知道http://facebook.com/sharer.php,但这需要手动插入get参数(我不会这样做)或使用JavaScript(这不适合我的情况)。
你可以用
1 | Share |
当前,如果不传递当前网址作为参数,则没有共享选项。您可以使用间接方式来实现。
示例ASP .Net代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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(); } } |
Ps 2:正如Justin指出的那样,请查看Facebook的新"共享对话框"。将保留后代的答案。这个答案已经过时了
简短的回答,是的,Facebook有一个类似的选项,不需要javascript(嗯,有一些非强制性的最小内联JS,请参见注释)。
附言:
脸书
1 2 3 | <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"> |
推特
1 2 3 | <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"> |
可以在代码中包含JavaScript,并且仍然支持非JavaScript用户。
如果用户在未启用JavaScript的情况下单击以下任何链接,则只需打开一个新标签即可:
1 2 3 4 | <!-- Remember to change URL_HERE, TITLE_HERE and TWITTER_HANDLE_HERE --> Share on Facebook Share on Twitter Share on Googleplus |
因为它们包含
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $(".share-popup").click(function(){ var window_size ="width=585,height=511"; var url = this.href; var domain = url.split("/")[2]; switch(domain) { case"www.facebook.com": window_size ="width=585,height=368"; break; case"www.twitter.com": window_size ="width=585,height=261"; break; case"plus.google.com": window_size ="width=517,height=511"; break; } window.open(url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,' + window_size); return false; }); |
不再有难看的内联JavaScript,或无数的窗口大小更改。而且它仍然支持非JavaScript用户。
试试这些链接类型实际上对我有用。
1 2 3 4 | https://www.facebook.com/sharer.php?u=YOUR_URL_HERE https://twitter.com/intent/tweet?url=YOUR_URL_HERE https://plus.google.com/share?url=YOUR_URL_HERE https://www.linkedin.com/shareArticle?mini=true&url=YOUR_URL_HERE |
我知道这是一个旧线程,但是我必须为一个项目做类似的事情,我想分享2019年的解决方案。
新的
这些参数是:
-
app_id (必填) -
href 您希望共享的页面的URL,如果没有通过,将使用当前URL。 -
hashtag 必须具有# 符号,例如#amsterdam -
quote 与链接共享的文本
您可以创建没有任何JavaScript的href。
1 | Share |
要考虑的一件事是,Facebook正在使用Open Graph,因此如果未正确设置OG标签,则可能无法获得所需的结果。
您可以使用Feed URL"直接URL"选项,如Feed对话框页面中所述:
You can also bring up a Feed Dialog by explicitly directing the user to the /dialog/feed endpoint:
1 2 3 4 5 6 7 8 | 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中的概念所取代。
这些答案中的许多不再适用,所以这是我的:
使用Facebook开发人员页面上描述的"共享"对话框。
例:
1 2 3 4 5 | 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。
请访问该网站,您将获得Facebook,google +和Twitter共享链接http://www.sharelinkgenerator.com/
如果您想在更多论坛上分享,这里是解决方案。
https://github.com/bradvin/social-share-urls
不推荐使用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/
添加到@ rybo111的解决方案中,这是LinkedIn共享的内容:
1 | Share on LinkedIn |
并将其添加到您的Javascript:
1 2 3 | case"www.linkedin.com": window_size ="width=570,height=494"; break; |
根据LinkedIn文档:https://developer.linkedin.com/docs/share-on-linkedin(请参阅"自定义网址"部分)
对于感兴趣的任何人,我在带有LinkedIn徽标的Rails应用程序中使用了此代码,因此这是我的代码(如果有帮助的话):
1 | <%= 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" %> |
对于那些希望使用javascript但又不想使用Facebook javascript库的用户:
1 2 3 | <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 <script type="text/javascript">document.getElementById("shareFB").setAttribute("href","https://www.facebook.com/sharer/sharer.php?u=" + document.URL); |
即使禁用了javascript,也可以使用,但是如果启用了javascript,则会为您提供一个带有共享预览的弹出窗口。
在不使用任何Facebook js间谍软件的情况下,节省了一针点击:)
如何分享内容:https://developers.facebook.com/docs/share/
您必须选择使用不使用JS的不推荐使用的功能,并每天检查一下,或者按照使用JS的方式进行娱乐。