次のリンクは、Twitterでページを共有するためのものです。
FacebookにJavaScriptを必要としない同様のオプションはありますか?
http://facebook.com/sharer.php を知っていますが、そのためにはgetパラメーターを手動で挿入する必要があります(これは行いません)、またはJavaScriptを使用して(これは行いません)私の状況に合わせて)。
使用できます
<a href="https://www.facebook.com/sharer/sharer.php?u=#url" target="_blank">Share</a>
現在、現在のURLをパラメーターとして渡さない共有オプションはありません。これを達成するために間接的な方法を使用できます。
例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();
}
}
PS 2: ジャスティン で指摘されているように、 Facebookの新しい共有ダイアログ をチェックしてください。後世のためにそのまま答えを残します。この回答は廃止されました
簡単に言えば、はい、FacebookにはJavaScriptを必要としない同様のオプションがあります(強制ではない最小限のインラインJSがあります。注を参照)。
Ps: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>
Googleplus
<a href="https://plus.google.com/share?url=URLENCODED_URL"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=350,width=480');return false;"
target="_blank" title="Share on Google+">
</a>
コードに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]; 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や、ウィンドウサイズ変更の無数の変更はありません。また、非JavaScriptユーザーも引き続きサポートしています。
Feed Dialog ページで説明されているように、Feed URLの「Direct URL」オプションを使用できます。
ユーザーを明示的に/ dialog/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`
ドキュメントのどこにも「共有」について言及していないようです。これは、フィードに追加するという概念に置き換えられました。
これらの答えの多くはもはや適用されないので、ここに私のものがあります:
Facebook Dev Page で説明されている共有ダイアログを使用します。
例:
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://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
@ 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 (「カスタマイズされたURL」セクションを参照)
興味のある人のために、これを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" %>
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スパイウェアを使用せずに、1回のクリックだけで保存できます。
コンテンツを共有する方法: https://developers.facebook.com/docs/share/
JSなしで非推奨の機能を使用することを選択し、毎日確認するか、JSを使用して楽しんでください。
私はそれが古いスレッドであることを知っていますが、プロジェクトのためにそのようなことをしなければならなかったので、2019年のソリューションを共有したいと思いました。
新しいdialog
APIは、パラメーターを取得し、javascriptなしで使用できます。
パラメーターは次のとおりです。
app_id
(必須)href
何も渡されなかった場合に共有したいページのURLは現在のURLを使用します。hashtag
には、たとえば#amsterdamのように#
シンボルが必要ですquote
テキスト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>
考慮すべきことの1つは、Facebookが Open Graph を使用していることです。そのため、OGタグが適切に設定されていない場合、希望する結果が得られない可能性があります。
より多くのフォーラムで共有したい場合は、ここに解決策があります。 https://github.com/bradvin/social-share-urls