ट्विटर पर एक क्वेरी स्ट्रिंग के साथ एक URL साझा करना


117

मैं एक ईमेल में एक ट्विटर शेयर लिंक डालने की कोशिश कर रहा हूं। क्योंकि यह एक ईमेल में है जो मैं जावास्क्रिप्ट पर भरोसा नहीं कर सकता, और "बिल्ड योर ओन" ट्वीट बटन का उपयोग करना होगा।

उदाहरण के लिए, Google को एक लिंक साझा करना:

<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>

यह ठीक काम करता है। जब URL में एक स्ट्रिंग स्ट्रिंग होती है तो मुझे जो समस्या होती है।

<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>

क्वेरी स्ट्रिंग वाले URL ट्विटर की URL को छोटा करने वाली सेवा को भ्रमित करते हैं, t.co. मैंने विभिन्न तरीकों से URL एन्कोडिंग की कोशिश की है और काम करने के लिए कुछ भी नहीं मिल सकता है। मैंने जो सबसे करीबी हासिल किया है, वह यह कर रहा है।

<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>

यहाँ मैंने केवल क्वेरी स्ट्रिंग को एनकोड किया है। जब मैं ऐसा करता हूं, तो t.co सफलतापूर्वक URL को छोटा कर देता है, लेकिन छोटे लिंक का अनुसरण करने पर, यह आपको एन्कोडेड URL पर ले जाता है। मुझे http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456पता बार में दिखाई देता है, और ब्राउज़र में निम्न त्रुटि मिलती है

नहीं मिला

इस सर्वर पर अनुरोधित URL /foo.htm?bar=123&baz=456 नहीं मिला।

मैं इस समस्या को हल करने के तरीके के रूप में नुकसान में हूं।

संपादित करें: पुन: onteria_

मैंने पूरे URL को एन्कोड करने का प्रयास किया है। जब मैं ऐसा करता हूं तो कोई URL ट्वीट में दिखाई नहीं देता है।


1
आपको ENTIRE URL को एनरोल करना होगा। जिसमें http://नीचे से सब कुछ शामिल है
onteria_

जवाबों:


171

यह आपके लिए काम करेगा

http://twitter.com/share?text=text goes here&url=http://url goes here&hashtags=hashtag1,hashtag2,hashtag3

यहाँ इसके बारे में एक लाइव उदाहरण है


http://twitter.com/share?text=Im Twitter पर साझा करना और url = https: //stackoverflow.com/users/2943186/youssef-subehi&hashtags=stackoverflow,export,youssefusf


अच्छा जवाब होता अगर यह ... आप जानते हैं ... मूल प्रश्न का उत्तर दिया।
डेव लैंड

110

के https://twitter.com/intent/tweetबजाय का उपयोग करके इसे हल किया जा सकता है http://www.twitter.com/shareintent/tweetफ़ंक्शन का उपयोग करके , आप बस अपने पूरे URL को एनकोड करते हैं और यह एक आकर्षण की तरह काम करता है।

https://dev.twitter.com/web/intents


प्लम और ट्वीटकास्टर इस प्रारूप को नहीं संभालते हैं (वे केवल URL के आधार पर इरादे या शेयर के लिए प्रोफ़ाइल दिखाते हैं)। Tweetdeck को twitter.com यूआरएल बिल्कुल भी नहीं लगते हैं।
पियरे-ल्यूक पाऊर

- इसके अलावा इस लिंक को देख blog.socialsourcecommons.org/2011/03/...
अल्पेश त्रिवेदी

2
https://twitter.com/intent/tweet?text={text_to_share}सभी प्लेटफार्मों पर पूरी तरह से काम करता है। इसके लिए उच्च और निम्न खोज की गई .. धन्यवाद!
जैक डिहर्स्ट



4

आप इन कार्यों का उपयोग कर सकते हैं:

 function shareOnFB(){
       var url = "https://www.facebook.com/sharer/sharer.php?u=https://yoururl.com&t=your message";
       window.open(url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');
       return false;
  }


function shareOntwitter(){
    var url = 'https://twitter.com/intent/tweet?url=URL_HERE&via=getboldify&text=yourtext';
    TwitterWindow = window.open(url, 'TwitterWindow',width=600,height=300);
    return false;
 }


function shareOnGoogle(){
     var url = "https://plus.google.com/share?url=https://yoururl.com";
     window.open(url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=350,width=480');
     return false;
}


<a onClick="shareOnFB()"> Facebook </a>
<a onClick="shareOntwitter()"> Twitter </a>
<a onClick="shareOnGoogle()"> Google </a>

एक समाधान जो जावास्क्रिप्ट पर भरोसा नहीं करता है, बस var url = ...ईमेल बनाते समय इन लिंक (इन ) का निर्माण करेगा ।
थॉमस एबर्ट


3

मैं सभी तरीकों का संदर्भ देता हूं।

क्वेरी को दो बार एनकोड करें तेज समाधान है।

const query = a=123&b=456;
const url = `https://example.com/test?${encodeURIComponent(encodeURIComponent(query),)}`;


const twitterSharingURL=`https://twitter.com/intent/tweet?&url=${url}`

2

आप को इरादे का उपयोग करने की आवश्यकता नहीं है, यह आपके URL को कूटबद्ध करता है यह ट्विटर शेयर के साथ भी काम करेगा।


1

जैसा कि @onteria_ ने उल्लेख किया है, आपको पूरे पैरामीटर को एनकोड करना होगा। किसी और को समान समस्या का सामना करने के लिए, आप ठीक से इनकोड किए गए url को उत्पन्न करने के लिए निम्नलिखित बुकमार्कलेट का उपयोग कर सकते हैं। इसे बनाने के लिए अपने ब्राउज़र के एड्रेस बार में कॉपी पेस्ट करेंTwitter शेयर url । सुनिश्चित करें कि javascript:जब आप इसे एड्रेस बार में कॉपी करते हैं तो उपसर्ग होता है, Google Chrome इसे कॉपी करते समय हटा देता है।

javascript:(function(){var url=prompt("Enter the url to share");if(url)prompt("Share the following url - ","http://www.twitter.com/share?url="+encodeURIComponent(url))})();

JS Fiddle http://jsfiddle.net/2frkV/ पर स्रोत


1

यदि आप इसे html साइट पर मैनुअल जोड़ते हैं, तो प्रतिस्थापित करें:

&

साथ में

&amp;

& के लिए मानक HTML कोड


0

Twitter अब आपको डेटा विशेषता के माध्यम से URL भेजने देता है। यह मेरे लिए बहुत अच्छा काम करता है:

<a href="javascript:;" class="twitter-share-button" data-lang="en" data-text="check out link b" data-url="http://www.lyricvideos.org/tracks?videoURL=SX05JZ4FisE">Tweet</a>

क्या किसी ने यह देखने के लिए परीक्षण किया है कि क्या यह url को विशेषता से यूआरएल खींचने के लिए जावास्क्रिप्ट पर निर्भर करता है और फिर ब्राउज़र को सही URL पर पुनर्निर्देशित करता है?
मार्क

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