जावास्क्रिप्ट के बिना फेसबुक शेयर लिंक


137

निम्नलिखित लिंक ट्विटर पर एक पेज साझा करने के लिए है:

http://twitter.com/share

क्या फेसबुक के लिए भी ऐसा ही कोई विकल्प है जिसे जावास्क्रिप्ट की आवश्यकता नहीं है?

मैं http://facebook.com/sharer.php के बारे में जानता हूं , लेकिन इसके लिए मैन्युअल रूप से सम्मिलित होने के लिए एक पैरामीटर की आवश्यकता होती है (जो मैं करने वाला नहीं हूं), या जावास्क्रिप्ट के साथ (जो मेरी स्थिति में फिट नहीं है)।

जवाबों:


190

आप उपयोग कर सकते हैं

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

वर्तमान में एक पैरामीटर के रूप में वर्तमान यूआरएल को पारित किए बिना कोई साझाकरण विकल्प नहीं है। आप इसे प्राप्त करने के लिए एक अप्रत्यक्ष तरीके का उपयोग कर सकते हैं।

  1. उदाहरण के लिए एक सर्वर साइड पेज बनाएँ: "/sharer.aspx"
  2. जब भी आप शेयर कार्यक्षमता चाहते हैं, तो इस पृष्ठ को लिंक करें।
  3. "Sharer.aspx" में संदर्भित यूआरएल मिलता है, और उपयोगकर्ता को " https://www.facebook.com/sharer/sharer.php?u= {संदर्भकर्ता}" पर पुनर्निर्देशित करें

उदाहरण 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();
    }
}

हाँ यह एक अच्छा विकल्प है। लेकिन अगर मैं चाहता हूं कि यह जेएस संस्करण की तरह एक पॉप में खुल जाए, तो मुझे क्या करना चाहिए? इस समय यह एक नए टैब में खुल रहा है! धन्यवाद !
सगीरुद्दीन मोंडल

यह वह नहीं है जो मैं पूछ रहा था। इसके लिए आपको पृष्ठ के URL को साझा करने की जानकारी होनी चाहिए, ताकि आप hrefपृष्ठ के URL के साथ अपने "#url" को बदल सकें । Twitter.com/share लिंक का उपयोग करना , हालाँकि आपको अपने साझाकरण पृष्ठ का URL सम्मिलित करने की आवश्यकता नहीं है।
वेब_डिजाइनर

1
क्या आप जानते हैं कि छवि कैसे भेजें?
मिगुएलम्पन

@miguelmpn (और नए पाठक), इस उत्तर को देखें । संक्षेप में: og:imageटैग।
मॉस फेउ जूल

क्या इस विशेष विधि के लिए प्रलेखन है?
नावेद खान

129

Ps 2: जैसा कि जस्टिन ने बताया है , फेसबुक के नए शेयर डायलॉग को देखें । उत्तर को छोड़ देंगे जैसा कि उत्तरजीविता के लिए है। यह उत्तर अप्रचलित है


संक्षिप्त उत्तर, हां फेसबुक के लिए एक समान विकल्प है, जिसे जावास्क्रिप्ट की आवश्यकता नहीं है (ठीक है, कुछ न्यूनतम इनलाइन जेएस है जो अनिवार्य नहीं है, नोट देखें)।

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>

@superluminary ... यह है, लेकिन इसकी आवश्यकता नहीं है। मैंने उल्लेख किया था कि आप इसे हटा सकते हैं (ऑन्कलिक भाग) ... और यह अभी भी काम करेगा। लेकिन मैं देख सकता हूँ कि यह सब 100% स्पष्ट नहीं है ... मैं इसे संपादित करूँगा।
किंग'ओरी मैना

2
सुशोभित गिरावट का अच्छा उदाहरण!
अर्नोल्ड डेनियल

6
+1। बदलना चाहिए http://www.facebook.com/sharer.phpकरने के लिएhttp://www.facebook.com/sharer/sharer.php
Nir लेवी

1
मैं इस उत्तर को अपडेट करूंगा ताकि लोग फेसबुक द्वारा निर्देशित शेयर डायलॉग का उपयोग कर सकें ।
जस्टिन स्काइल्स

TWITTER_HANDLEपैरामीटर क्या है ?
हमीदफज़म

38

अपने कोड में जावास्क्रिप्ट को शामिल करना और अभी भी गैर-जावास्क्रिप्ट उपयोगकर्ताओं का समर्थन करना संभव है।

यदि कोई उपयोगकर्ता जावास्क्रिप्ट सक्षम किए बिना निम्न में से किसी भी लिंक पर क्लिक करता है, तो यह बस एक नया टैब खोलेगा:

<!-- 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 में संदर्भित कर सकते हैं, और जिस डोमेन से हम साझा कर रहे हैं, उसके अनुरूप विंडो का आकार बदल सकते हैं:

$ ( "। शेयर पॉपअप")। समारोह क्लिक करें (() {
    var window_size = "चौड़ाई = 585, ऊंचाई = 511";
    var url = this.href;
    var डोमेन = url.split ("/") [2];
    स्विच (डोमेन) {
        मामला "www.facebook.com":
            window_size = "चौड़ाई = 585, ऊंचाई = 368";
            टूटना;
        मामला "www.twitter.com":
            window_size = "चौड़ाई = 585, ऊंचाई = 261";
            टूटना;
        मामला "plus.google.com":
            window_size = "चौड़ाई = 517, ऊंचाई = 511";
            टूटना;
    }
    window.open (url, '', 'menubar = no, toolbar = no, resizable = yes, scrollbars = yes,' + window_size);
    विवरण झूठा है;
});

कोई और अधिक बदसूरत इनलाइन जावास्क्रिप्ट, या अनगिनत खिड़की नौकरशाही का आकार घटाने के परिवर्तन। और यह अभी भी गैर-जावास्क्रिप्ट उपयोगकर्ताओं का समर्थन करता है।


अच्छा समाधान! इसके अलावा, मैं वर्तमान पृष्ठ URL में भरने के लिए कुछ जावास्क्रिप्ट का उपयोग कर रहा हूं:$(".share-popup").each(function(){ var href = $( this ).attr( "href" ); href = href.replace( "URL_HERE", document.URL ); $( this ).attr( "href", href ); });
GavinoGrifoni

@GavinoGrifoni गैर-जावास्क्रिप्ट उपयोगकर्ताओं का समर्थन करने के लिए वर्तमान URL सर्वर-साइड को शामिल करना बेहतर है
rybo111

12

इन लिंक प्रकारों की कोशिश करो वास्तव में मेरे लिए काम करता है।

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

7

आप फ़ीड URL "डायरेक्ट URL" विकल्प का उपयोग कर सकते हैं, जैसा कि फीड डायलॉग पेज पर वर्णित है :

आप उपयोगकर्ता को / संवाद / फ़ीड समापन बिंदु पर स्पष्ट रूप से निर्देशित करके एक फ़ीड डायलॉग भी ला सकते हैं:

  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`

ऐसा लगता है कि वे अब अपने डॉक्स में कहीं भी "साझाकरण" का उल्लेख नहीं करते हैं; इसे आपके फ़ीड में जोड़ने की अवधारणा के साथ बदल दिया गया है।


2
लेकिन बिना ऐप आईडी रजिस्टर किए उस डायलॉग को एक्सेस करना संभव नहीं है?
एली

7

मुझे पता है कि यह एक पुराना धागा है, लेकिन मुझे एक परियोजना के लिए ऐसा कुछ करना था और मैं 2019 समाधान साझा करना चाहता था।

नया dialogएपीआई बिना किसी जावास्क्रिप्ट के भी परमर्स प्राप्त कर सकता है।

परम हैं:

  • app_id (आवश्यक)
  • href जिस पृष्ठ को आप साझा करना चाहते हैं, उसका URL, जो कोई भी पारित नहीं हुआ है, वर्तमान URL का उपयोग करेगा।
  • hashtag#उदाहरण के लिए # एम्स्टर्डम का प्रतीक होना चाहिए
  • quote लिंक के साथ साझा किया जाने वाला पाठ

आप किसी भी जावास्क्रिप्ट के बिना एक href बना सकते हैं जो कभी ऐसा हो।

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

एक बात पर विचार करें कि फेसबुक ओपन ग्राफ का उपयोग कर रहा है, तो यदि आपके ओजी टैग ठीक से सेट नहीं हैं, तो आप उन परिणामों को प्राप्त नहीं कर सकते हैं जो आप चाहते हैं।


इस उत्तर को पोस्ट करने के लिए धन्यवाद। हालाँकि, मुझे वह त्रुटि मिलती है जो 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.मैं लोकलहोस्ट पर हूं। कोई विचार? मैंने एफबी पर Basicऔर Advancedसेटिंग्स दोनों में कई डोमेन शामिल करने की कोशिश की है, लेकिन कोई भाग्य नहीं।
पदावनटोनी

ऐसा नहीं लगता है कि display=popupडेस्कटॉप पर काम कर रहा है।
निके मैनारिन

6

इन उत्तरों के बहुत सारे अब लागू नहीं होते हैं, इसलिए यहां मेरा है:

फेसबुक देव पेज पर वर्णित शेयर संवाद का उपयोग करें ।

उदाहरण:

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 और redirect uri में डालना होगा।


redirect_uriअब आवश्यकता नहीं है।
मोरी


3

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/


1
(iframe संस्करण का उपयोग करें)
DMCS

यह वास्तव में मैं क्या देख रहा हूँ नहीं है। मैं सिर्फ एक एंकर तत्व का उपयोग करना चाहता हूं।
वेब_डिजाइनर

क्षमा करें, फिर आप भाग्य से बाहर हैं। यह या तो जावास्क्रिप्ट या iFramed है।
DMCS

3
मैं कह रहा हूं कि यदि उपयोगकर्ता के पास जावास्क्रिप्ट अक्षम है, तो वे पृष्ठ को फेसबुक पर साझा नहीं कर पाएंगे। मैं सोच रहा था कि क्या Twitter.com/share जैसा ही लिंक फेसबुक के लिए था।
वेब_डिजाइनर

1
@ फ्लीम कृपया डेवलपर्स.फेसबुक. com/bugs/252983554810810 देखें और नूरिन की टिप्पणी पढ़ें। {quot} नूरिन लधानी · · फेसबुक टीम हाय रोनाल्ड - शेयर बटन को लाइक बटन के पक्ष में चित्रित किया गया है। {उद्धरण}
DMCS


2

उन लोगों के लिए जो जावास्क्रिप्ट का उपयोग करना चाहते हैं, लेकिन फेसबुक जावास्क्रिप्ट पुस्तकालय का उपयोग नहीं करना चाहते हैं:

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

अगर जावास्क्रिप्ट अक्षम है तो भी काम करता है, लेकिन अगर जावास्क्रिप्ट सक्षम है तो आपको शेयर पूर्वावलोकन के साथ एक पॉपअप विंडो देता है।

किसी भी फेसबुक js स्पाइवेयर का उपयोग नहीं करते समय एक सुई क्लिक करता है :)


क्या नए टैब में इसे खोलने का कोई तरीका है। अभी इसका एक पॉपअप बन रहा है
अलाउद्दीन अहमद

2

@ Rybo111 के समाधान में जोड़ना, यहाँ एक लिंक्डइन शेयर क्या होगा:

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

और इसे अपने जावास्क्रिप्ट में जोड़ें:

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

लिंक्डइन प्रलेखन के अनुसार: https://developer.linkedin.com/docs/share-on-linkedin ("अनुकूलित यूआरएल" अनुभाग देखें)

किसी की दिलचस्पी के लिए, मैंने एक लिंक्डइन लोगो के साथ एक रेल एप्लिकेशन में इसका उपयोग किया, इसलिए यहां मेरा कोड अगर यह मदद कर सकता है:

<%= 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" %>

1

सामग्री कैसे साझा करें: https://developers.facebook.com/docs/share/

आपको जेएस के बिना पदावनत समारोह का उपयोग करना है, और हर दिन की जांच करना है, या जिस तरह से जेएस का उपयोग करना है और मज़े करना है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.