2011-08-08 12 views
14

मैं वर्तमान में गतिशील रूप से क्षैतिज गिनती की सुविधा के साथ ट्वीट बटन बनाने के लिए कोशिश कर रहा हूँ:मैं गतिशील रूप से एक ट्वीट बटन कैसे बना सकता हूं?

जावास्क्रिप्ट

var twitter = document.createElement('a'); 
twitter.setAttribute('href', 'http://twitter.com/share'); 
twitter.setAttribute('class', 'twitter-share-button twitter-tweet'); 
twitter.setAttribute('data-url','http://mindcloud.co.uk/idea/?idea=' + this.id); 
twitter.setAttribute('data-count', 'horizontal'); 
twitter.setAttribute('data-via', 'jtbrowncouk'); 
twitter.style.top = '20px'; 
twitter.style.left = '300px'; 
twitter.innerHTML = "Tweet"; 

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

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

जावास्क्रिप्ट

var facebook = document.createElement('fb:like'); 
facebook.setAttribute('id', 'like'+this.id); 
facebook.setAttribute('href', 'http://mindcloud.co.uk/idea/?idea=' + this.id);  
facebook.setAttribute('layout', 'button_count'); 
facebook.setAttribute('send', 'false');   
facebook.setAttribute('width' , '300'); 
facebook.setAttribute('font', ''); 
facebook.setAttribute('show_faces', 'true'); 
facebook.style.top = '0px'; 
facebook.style.left = '300px'; 

निम्नलिखित का उपयोग कर:

FB.XFBML.parse(); 

बटन को पार्स करने और खींचने के लिए। FB.XFBML.parse() http://connect.facebook.net/en_US/all.js

जब मैं एक .html फ़ाइल के अंदर स्थिर रूप से ट्वीट बटन बना देता हूं तो यह सही तरीके से काम करता है। मैं निम्न स्क्रिप्ट मेरी सूचकांक पृष्ठ के भीतर जहां ट्वीट बटन डायनामिक रूप से तैयार किया जाना चाहिए सहित हूँ:

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> 

कि आप देख सकते हैं मैं गलत तरीके से क्या कर रही हूं मुझे सूचित करें!

निम्नलिखित स्क्रीनशॉट ट्वीट बटन के साथ क्या गलत हो रहा है इसके बारे में एक दृश्य स्पष्टीकरण देता है! Tweet button not displaying correctly.

समाधान:

मैं अब इस समस्या का समाधान करने में कामयाब रहे है। जिस समस्या का मैं कल्पना करता हूं वह यह है कि ट्विटर स्क्रिप्ट लोड पर चल रही है, और तत्व बनाने पर फिर से नहीं चल रही है।

निम्न jQuery का उपयोग कर सही ढंग से काम करता है!

$ .getScript ("http://platform.twitter.com/widgets.js");

+1

आपको समाधान को उत्तर के रूप में रखना चाहिए और प्रश्न को बंद करना चाहिए – Chamilyan

उत्तर

32

यह ध्यान देने योग्य है कि हाल ही के रूप में आप निम्नलिखित चहचहाना विजेट समारोह का उपयोग कर सकते लायक है।जेएस फ़ाइल:

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> 

यह गतिशील रूप से आपके लिए ट्वीट बटन फिर से बना देगा।

+0

यह वास्तव में एक बेहतर समाधान है, यदि आप बस पुनः लोड को मजबूर करने के बजाय, स्क्रिप्ट को फिर से बनाना चाहते हैं। –

2

आप केवल गलत कोड का उपयोग कर रहे हैं। यूआरएल निर्दिष्ट करने के लिए, आप url का उपयोग करते हैं, डेटा-यूआरएल नहीं। यह काम करता है:

var twitter = document.createElement('a'); 
twitter.setAttribute('href', 'http://twitter.com/share'); 
twitter.setAttribute('class', 'twitter-share-button twitter-tweet'); 
twitter.setAttribute('url','http://mindcloud.co.uk/idea/?idea=' + this.id); 
twitter.setAttribute('data-count', 'horizontal'); 
twitter.setAttribute('data-via', 'jtbrowncouk'); 
twitter.style.top = '20px'; 
twitter.style.left = '300px'; 
twitter.innerHTML = "Tweet"; 

अधिक जानकारी के लिए https://dev.twitter.com/docs/tweet-button#properties

+0

यूआरएल की जानकारी के लिए धन्यवाद, लेकिन मेरे पास मुख्य समस्या टेक्स्ट के रूप में दिखाई देने वाले ट्वीट बटन के साथ है। मैंने आपको दिखाने के लिए एक स्क्रीनशॉट लिया है जिसका मेरा मतलब है। http://i.imgur.com/J1qoA.png – Jack

+0

आप किस ब्राउज़र का उपयोग कर रहे हैं? यह क्रोम संपादित करने के लिए मेरे लिए काम करता है संपादित करें: बस इसे फ़ायरफ़ॉक्स में आज़माएं। मुझे पता है तुम्हारा क्या मतलब है। मैं देखूंगा कि मैं मदद कर सकता हूं या नहीं। –

+0

@ जैक क्या आप फ़ायरफ़ॉक्स कंसोल शुरू करने का प्रयास कर सकते हैं? मुझे ट्विटर के twimg.com डोमेन से कुछ सीएसएस स्टाइलशीट त्रुटियां मिल रही हैं। संपादित करें: अचानक, मुझे और चेतावनी नहीं मिल रही है, लेकिन समस्या बनी हुई है। :/ –

6

पर ट्विटर के दस्तावेज़ की जाँच अब मैं समस्या को हल करने में कामयाब रहे है। जिस समस्या का मैं कल्पना करता हूं वह यह है कि ट्विटर स्क्रिप्ट लोड पर चल रही है, और तत्व बनाने पर फिर से नहीं चल रही है।

निम्न jQuery का उपयोग कर सही ढंग से काम करता है! मान लें कि आप विगेट्स लोड कर दिया है

twttr.widgets.load(); 

:

$.getScript("http://platform.twitter.com/widgets.js"); 
संबंधित मुद्दे

 संबंधित मुद्दे