2010-11-14 21 views
9

मैं के बारे में मौजूदा HTML5 वेब अनुप्रयोग के लिए खुला ग्राफ प्रोटोकॉल लागू करने के लिए कर रहा हूँ और मैं किसी भी अनावश्यक crud शुरू करने के बिना आवश्यक RDFa डेटा शामिल करना चाहते हैं। प्रारंभ मेंएचटीएमएल 5 और RDFa समर्थन

<html lang="en"> 
<head xmlns:og="http://opengraphprotocol.org/schema/"> 
    <title>The Rock (1996)</title> 
    <meta property="og:title" content="The Rock"/> 
    <meta property="og:type" content="movie"/> 
    ... 

, मैं RDFa समर्थन के बारे में उलझन बढ़ी:

मैं HTML+RDFa 1.1 मसौदा देखा है और Facebook's Open Graph protocol documentation से तुलना, मैं सिर्फ html तत्व पर lang विशेषता निर्धारित करने की जरूरत है और यह एचटीएमएल 5 के लिए तैयार है एचटीएमएल 5 में इतने सारे स्रोतों का दावा है कि यह वैध तरीके से नहीं किया जा सकता है, जब तक कि मैं अंततः मसौदे पर उतर नहीं जाता। मैं मामलों पर कोई विशेषज्ञ नहीं हूं, इसलिए अगर कोई इस पर नज़र डाल सकता है और आज के ब्राउज़र में मसौदे के समर्थन के बारे में टिप्पणी करता है तो मैं सराहना करता हूं।

+0

आरडीएफए एचटीएमएल 5 से एक अलग विनिर्देश है इसलिए एचटीएमएल 5 में समर्थन मौजूद नहीं होगा। यह नहीं कहना कि आप इसे काम पर नहीं ला सकते हैं, हालांकि, चूंकि यह एक्सएमएल है और एचटीएमएल 5 आरडीएफ के रूप में भेजे गए एक्सएमएल को संभाल सकता है। – Rob

+0

वह जगह है जहां वेब मुझे उलझन में डाल देता है। मैं एचटीएमएल + आरडीएफए 1.1 ड्राफ्ट से उपशीर्षक निकाल दूंगा: "एचटीएमएल 4 और एचटीएमएल 5 में आरडीएफए के लिए समर्थन।" कृपया इसे देखो! –

+0

@Rob: एचटीएमएल + आरडीएफए कल्पना नहीं है कि केआरओएन एचटीएमएल 5 और आरडीएफए दोनों से अलग विनिर्देश से जुड़ा हुआ है? एचटीएमएल 5 में आरडीएफए का उपयोग कैसे करें? एचटीएमएल + आरडीएफए स्पेक के पढ़ने से, यह निर्धारित करना है कि आप एचटीएमएल में आरडीएफए का उपयोग कैसे करते हैं, भले ही आप एक्सएमएल के रूप में अपने एचटीएमएल की सेवा नहीं कर रहे हों, हालांकि उन्हें यकीन नहीं है कि यह काम करेगा या नहीं, क्योंकि यह एचटीएमएल 5 पर निर्भर करता है spec नामित विशेषताओं के बारे में फैसला करता है। –

उत्तर

16

W3C मान्य हर

<meta property="whatever" content... 

के बारे में मांग की है कि संपत्ति

<meta name="whatever ... 
बजाय

होगा, सही moans? तो फेसबुक है, क्या आप ज्यादातर के बारे में, मैं यह बताते हुए खुशी परवाह है, यह बाद वाले मिलकर बर्दाश्त, तो बस इसके लिए जाना:

<meta name="og:title" content="My nice picture"/> 
<meta name="og:type" content="article"/> 
<meta name="og:url" content="http://foobar123.com/test/simple.php"/> 

जब अमेरिकन प्लान के साथ परीक्षण: खबरदार, कि अमेरिकन प्लान पेज parsings कैश (वैश्विक स्तर पर, फेसबुक-साइड, हार्ड रीलोड मदद नहीं करेगा) इसलिए सुनिश्चित करें कि 'अनन्य' (लेकिन व्यर्थ) पथ-जानकारी या यूआरएल पर पैरामीटर प्राप्त करें, जब भी आप इसे फेसबुक-पोस्टिंग का परीक्षण करने के लिए कुछ बदलते हैं:

mysite.com/test.php/bogusParam1 
mysite.com/test.php/bogusParam2 
mysite.com/test.php/bogusParam3 
... 
mysite.com/test.php?foo=hello 
mysite.com/test.php?foo=howdy 
mysite.com/test.php?foo=aloha 
+1

बहुत अच्छा! मैंने कहीं भी नहीं देखा कि एफबी ने 'नाम' स्वीकार कर लिया है। –

+2

इसे प्यार करो। ऐसा लगता है कि इस चाल को इंगित करने वाली बहुत कम पोस्ट हैं। –

+0

डब्ल्यू 3 सी वैधकर्ता का वर्तमान संस्करण इस बारे में शिकायत करता है कि नाम विशेषता का मान अमान्य है। तो यह समाधान डब्ल्यू 3 सी और एफबी दोनों को परेशान करता है। मुझे लगता है कि किसी को 'संपत्ति' का उपयोग करना चाहिए। – Qtax

6

दोनों एचटीएमएल 5 और HTML + RDFa 1.1 विकास में अभी भी कर रहे हैं, इसका अर्थ है कि सब कुछ हम उसे अब कहते हैं कि परिवर्तन के अधीन हो सकता है। आपके प्रश्नों के दो पक्ष हैं:

  • क्या यह मान्य है?
  • क्या यह अंतःक्रियाशीलता के मुद्दों को बनाएगा?

वैधता के लिए, आप नियमित गति से W3C validator में विनिर्देशों के कार्यान्वयन की स्थिति की जांच कर सकते हैं। इसमें एक प्रयोगात्मक HTML5 सत्यापनकर्ता बनाया गया है। एचटीएमएल 5 में

नेमस्पेस अभी भी बहस में काफी हैं। वे वास्तव में इरादे से अलग डीओएम की ओर अग्रसर मुद्दों को बनाते हैं, जो मेरे दूसरे प्रश्न की ओर जाता है: इंटरऑपरेबिलिटी मुद्दे। आप जांच सकते हैं कि Live Dom Viewer के साथ मार्कअप को कैसे प्रबंधित किया जाता है या ब्राउज़र में दस्तावेज़ के DOM प्रतिनिधित्व का पता लगाने के लिए Opera Dragonfly जैसे कुछ का उपयोग करें।

आप एचटीएमएल 5 डोम और RDFa थोड़ा अधिक के विषय का अन्वेषण करना चाहते हैं, तो आप जेनी के blog post भी पढ़ सकते हैं।

आपका मार्कअप अब तक वास्तव में कोई समस्या नहीं है, लेकिन अगर आप जावास्क्रिप्ट शामिल है, आप नामस्थान और कॉलम के साथ मूल्यों के बारे में सावधान रहना होगा।

1

यह एचटीएमएल 5 में छदाम के लिए corect तरीका है:

<meta property="http://ogp.me/ns#locale" content="en_US" /> 
<meta property="http://ogp.me/ns#site_name" content="xxxxxx" /> 
<meta property="http://ogp.me/ns#type" content="website" /> 
<meta property="http://ogp.me/ns#title" content="xxxxxxxxxxxx" /> 
<meta property="http://ogp.me/ns#description" content="xxxxxxxxxxxxxxxx" /> 
<meta property="http://ogp.me/ns/fb#app_id" content="xxxxxxxxxxxxxxxx" /> 

आदि ... आशा है कि यह

+2

क्या आप इसके लिए स्रोत प्रदान कर सकते हैं? – joar

+0

@joar सबूत नवीनतम [आरडीएफए 1.1 प्राइमर] में है (http://www.w3.org/TR/rdfa-primer/#using-the-content-attribute)। नवीनतम [एचटीएमएल 5 के लिए वैलिडेटर] (http://validator.w3.org/nu/) भी देखें और आरडीएफए 1.1 के लिए प्रीसेट का चयन करना सुनिश्चित करें – snahl

1

एक दिन, एचटीएमएल 5 सत्यापनकर्ता और फेसबुक दोनों समर्थन एचटीएमएल में मदद करता है अब + आरडीएफए 1.1, तो आप अभी नाम के बजाय संपत्ति का उपयोग कर सकते हैं। आपको html5 में xmlns घोषणाओं के साथ गड़बड़ करने की ज़रूरत नहीं है। और उपसर्ग को (आरडीएफए) spec में परिभाषित किया गया है, इसलिए आपको इसे परिभाषित करने की आवश्यकता नहीं है। हालांकि आप एचटीएमएल या हेड टैग पर prefix="og: http://ogp.me/ns#" स्पष्ट रूप से कह सकते हैं।