Tautan berbagi Facebook tanpa JavaScript

Jawaban:

197

Anda bisa menggunakan

<a href="https://www.facebook.com/sharer/sharer.php?u=#url" target="_blank">Share</a>

Saat ini tidak ada opsi berbagi tanpa meneruskan url saat ini sebagai parameter. Anda dapat menggunakan cara tidak langsung untuk mencapai ini.

  1. Buat halaman sisi server, misalnya: "/sharer.aspx"
  2. Tautkan halaman ini kapan pun Anda menginginkan fungsionalitas berbagi.
  3. Di "sharer.aspx" dapatkan url pengarah, dan alihkan pengguna ke " https://www.facebook.com/sharer/sharer.php?u= {referer}"

Contoh kode 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();
    }
}
Medeni Baykal
sumber
ya ini adalah pilihan yang bagus. Tetapi jika saya ingin ini terbuka dalam pop up seperti versi js, Apa yang harus saya lakukan? Saat ini, ini sedang dibuka di tab baru! Terima kasih!
Sagiruddin Mondal
Ini bukan yang saya minta. Ini mengharuskan Anda mengetahui URL halaman yang dibagikan, sehingga Anda dapat mengganti "#url" di Anda hrefdengan URL halaman. Menggunakan tautan twitter.com/share , namun tidak mengharuskan Anda memasukkan URL halaman yang Anda bagikan.
Web_Designer
1
Apakah Anda tahu cara mengirim gambar?
miguelmpn
@miguelmpn (dan pembaca yang lebih baru), lihat jawaban ini . Singkatnya: og:imagetag.
Mosh Feu
Apakah ada dokumentasi untuk metode khusus ini?
Naved Khan
132

Mzm 2: Seperti yang ditunjukkan oleh Justin , lihat Dialog Berbagi Facebook yang baru . Akan meninggalkan jawabannya sebagaimana untuk anak cucu. Jawaban ini sudah usang


Jawaban singkatnya, ya ada opsi serupa untuk Facebook, yang tidak memerlukan javascript (yah, ada beberapa JS inline minimal yang tidak wajib, lihat catatan).

NB: Bagian ini onclickhanya membantu Anda menyesuaikan popup sedikit tetapi tidak diperlukan agar kode berfungsi ... ini akan berfungsi dengan baik tanpanya.

Facebook

<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>

Indonesia

<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>
King'ori Maina
sumber
@superluminary ... memiliki tetapi tidak membutuhkannya. Saya telah menyebutkan bahwa Anda dapat menghapusnya (bagian onclick) ... dan itu akan tetap berfungsi. Tetapi saya dapat melihat bagaimana semuanya tidak 100% jelas ... Saya akan mengeditnya.
King'ori Maina
2
Contoh bagus dari degradasi yang anggun!
Arnold Daniels
6
+1. Harus berubah http://www.facebook.com/sharer.phpmenjadihttp://www.facebook.com/sharer/sharer.php
Nir Levy
1
Saya akan memperbarui jawaban ini untuk mengarahkan orang menggunakan Dialog Berbagi seperti yang diarahkan oleh Facebook.
Justin Skiles
Apa itu TWITTER_HANDLEparameter?
hamidfzm
39

JavaScript dapat disertakan dalam kode Anda dan masih mendukung pengguna non-JavaScript.

Jika pengguna mengklik salah satu link berikut tanpa mengaktifkan JavaScript, itu hanya akan membuka tab baru:

<!-- 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>

Karena mereka berisi share-popupkelas, kita dapat dengan mudah mereferensikan ini di jQuery, dan mengubah ukuran jendela agar sesuai dengan domain tempat kita berbagi:

$ (". 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";
            istirahat;
        case "www.twitter.com":
            window_size = "width = 585, height = 261";
            istirahat;
        case "plus.google.com":
            window_size = "width = 517, height = 511";
            istirahat;
    }
    window.open (url, '', 'menubar = no, toolbar = no, resizable = yes, scrollbars = yes,' + window_size);
    return false;
});

Tidak ada lagi JavaScript sebaris yang jelek, atau perubahan ukuran jendela yang tak terhitung jumlahnya. Dan masih mendukung pengguna non-JavaScript.

rybo111
sumber
Solusi bagus! Juga, saya menggunakan beberapa javascript untuk mengisi URL halaman saat ini:$(".share-popup").each(function(){ var href = $( this ).attr( "href" ); href = href.replace( "URL_HERE", document.URL ); $( this ).attr( "href", href ); });
GavinoGrifoni
@GavinoGrifoni Lebih baik menyertakan sisi server URL saat ini untuk mendukung pengguna non-JavaScript
rybo111
16

Coba jenis tautan ini benar-benar berfungsi untuk saya.

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
Asitha Yomal
sumber
9

Saya tahu ini adalah utas lama, tetapi saya harus melakukan sesuatu seperti itu untuk sebuah proyek dan saya ingin membagikan solusi 2019.

dialogAPI baru bisa mendapatkan params dan digunakan tanpa javascript.

Parameternya adalah:

  • app_id (Yg dibutuhkan)
  • href URL halaman yang ingin Anda bagikan, jika tidak ada yang lewat akan menggunakan URL saat ini.
  • hashtagharus memiliki #simbol misalnya #amsterdam
  • quote teks untuk dibagikan dengan tautan

Anda dapat membuat href tanpa javascript apa pun.

<a href="https://www.facebook.com/dialog/feed?&app_id=APP_ID&link=URI&display=popup&quote=TEXT&hashtag=#HASHTAG" target="_blank">Share</a>

Satu hal yang perlu dipertimbangkan adalah Facebook menggunakan Open Graph sehingga jika tag OG Anda tidak disetel dengan benar, Anda mungkin tidak mendapatkan hasil yang Anda inginkan.

Shahar
sumber
Terima kasih telah memposting jawaban ini. Namun, saya mendapatkan kesalahan 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.saya di localhost. Ada ide? Saya telah mencoba memasukkan beberapa domain di kedua pengaturan Basicdan Advanceddi FB tetapi tidak berhasil.
padawanTony
Sepertinya display=popuptidak berfungsi di desktop.
Nicke Manarin
7

Anda dapat menggunakan opsi "URL Langsung" URL Umpan, seperti yang dijelaskan di halaman Dialog Umpan :

Anda juga dapat memunculkan Dialog Feed dengan mengarahkan pengguna secara eksplisit ke titik akhir / 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`

Sepertinya mereka tidak lagi menyebutkan "berbagi" di mana pun di dokumen mereka; ini telah diganti dengan konsep menambahkan ke Umpan Anda.

Jordan Reiter
sumber
2
Tetapi apakah tidak mungkin untuk mengakses dialog itu tanpa mendaftarkan ID Aplikasi?
Eli
6

Banyak dari jawaban ini tidak lagi berlaku, jadi inilah jawaban saya:

Gunakan Dialog Berbagi yang dijelaskan di Halaman Pengembang Facebook .

Contoh:

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

Tapi Anda harus memasukkan app_id terdaftar Anda, href, dan uri pengalihan.

Justin Skiles
sumber
redirect_uritidak diperlukan lagi.
Mori
4

Silakan kunjungi situs web dan Anda akan mendapatkan tautan berbagi Facebook, google + dan Twitter http://www.sharelinkgenerator.com/

Mazhar Iqbal
sumber
3

http://facebook.com/sharer.php tidak digunakan lagi

Anda memiliki beberapa opsi (gunakan versi 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/

DMCS
sumber
1
(gunakan versi iframe)
DMCS
Bukan ini yang saya cari. Saya hanya ingin menggunakan elemen jangkar.
Web_Designer
Maaf, Anda kurang beruntung. Ini adalah Javascript atau iFramed.
DMCS
3
Saya mengatakan bahwa jika pengguna menonaktifkan JavaScript, mereka tidak akan dapat membagikan halaman tersebut di Facebook. Saya hanya ingin tahu apakah ada tautan serupa seperti twitter.com/share tetapi untuk facebook.
Web_Designer
1
@Flimm Silakan lihat developer.facebook.com/bugs/252983554810810 dan baca komentar dari Noorin. {quote} Noorin Ladhani · · Tim Facebook Hai Ronald - Tombol Bagikan sudah tidak digunakan lagi dan digantikan oleh tombol Suka. {kutipan}
DMCS
2

Bagi mereka yang ingin menggunakan javascript tetapi tidak ingin menggunakan perpustakaan javascript Facebook:

<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>

Berfungsi meskipun javascript dinonaktifkan, tetapi memberi Anda jendela sembulan dengan pratinjau berbagi jika javascript diaktifkan.

Menghemat satu klik jarum saat tidak menggunakan spyware js Facebook :)

Marek Andreansky
sumber
Apakah ada cara untuk membukanya di tab baru. Saat ini sedang muncul popup
Alauddin Ahmed
2

Menambahkan ke solusi @ rybo111, inilah yang akan dibagikan 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>

dan tambahkan ini ke Javascript Anda:

case "www.linkedin.com":
    window_size = "width=570,height=494";
    break;

Sesuai dokumentasi LinkedIn: https://developer.linkedin.com/docs/share-on-linkedin (Lihat bagian "Url yang Disesuaikan")

Bagi siapa pun yang tertarik, saya menggunakan ini di aplikasi Rails dengan logo LinkedIn, jadi inilah kode saya jika mungkin membantu:

<%= 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" %>
Kyle Carlson
sumber