2010-06-16 12 views
5

पर अवैध मार्क अप मैं अपनी साइट देखने के लिए डब्ल्यू 3 सी एक्सएचटीएमएल सत्यापनकर्ता का उपयोग कर रहा हूं और मुझे एफबीएमएल के साथ पृष्ठों पर कुछ त्रुटियां मिल रही हैं। ऐसी त्रुटियों का अधिकांश कारण "&" वर्ण है। चूंकि फ्लाई पर एफबीएमएल मान और गुण उत्पन्न होते हैं, इसलिए मेरे पास इसे प्रदर्शित करने से पहले चरित्र को एन्कोड करने का कोई तरीका नहीं है।फेसबुक: एफबीएमएल

प्रश्न: क्या मेरे लिए फेसबुक कनेक्ट को सही तरीके से प्रस्तुत करने के लिए कहने का कोई तरीका है?

धन्यवाद।

उत्तर

7

कोशिश CDATA में फेसबुक कोड डाल करने के लिए:

<script type="text/javascript"> 
/* <![CDATA[ */ 
document.write('<fb:login-button length="long" size="large" show-faces="true" perms="" onlogin="window.location=\'<?=current_url()?>\'"></fb:login-button>'); 
/* ]]> */ 
</script> 
2

संक्षेप में, जहां तक ​​मुझे पता है। मामलों बनाने के लिए बुरा, अमेरिकन प्लान: * टैग या तो मान्य नहीं है, भले ही आप इस तरह अपना HTML टैग देखो बनाने:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en"> 

यदि यह आप के लिए एक बड़ा मुद्दा है, आप दूर प्राप्त करने में सक्षम हो सकता है गैर-एक्सएचटीएमएल-अनुरूप मार्कअप को अपने स्वयं के एचटीएमएल-4.01-सख्त आईफ्रेम में डालने के साथ, मूल रूप से गलीचा के नीचे बकवास को साफ़ करने के लिए।

यह उपयोगी हो सकता है:

http://wiki.developers.facebook.com/index.php/Facebook_Platform_for_Mobile:_XHTML

कुछ जर्मन पुरुष भी इस पर काम:

http://translate.google.com/translate?js=y&prev=_t&hl=en&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Fwww.ka-mediendesign.de%2Fblog%2Ffbml-in-xhtml-neue-version%2F&sl=de&tl=en

+0

फिर भी एम्परसेंड समस्या का समाधान नहीं है। –

1

यह है कि मैं कैसे कर रहा हूँ एनजी अंदर सभी एफबीएमएल टैग के चारों ओर लपेटें और फिर jscript का उपयोग कर fbml कोड को असम्बद्ध करने के लिए जेएस का उपयोग करें। यहाँ एक उदाहरण है:

मार्कअप:

<P class="fbreplace" style="display: none;"> 
    <!-- FBML 
     <fb:like layout="standard" show_faces="false" colorscheme="light"></ fb: like> 
    -> 
</ p> 

जे एस (JQuery आवश्यक):

$(document).ready(function() { 
    $(".fbreplace").html.replace(/<!-- FBML /g, ""); 
    $(".fbreplace").html.replace(/ -->/g, ""); 
    $(".fbreplace").style.display = "block"; 
}); 
+0

यह दिलचस्प है। ऐसा करने के बेहतर तरीके हैं लेकिन मैं मदद नहीं कर सकता लेकिन कह सकता हूं कि यह वास्तव में दिलचस्प है। और यह काम करता है! –

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