Widziałem sprzeczne informacje dotyczące najlepszego sposobu implementacji przestrzeni nazw Open Graph. W szczególności witryna Open Graph wykorzystuje kilka różnych metod, a przykłady Open Graph Facebooka wykorzystują inne metody.
Przykład witryny Open Graph (z użyciem atrybutu prefiksu HTML):
<html prefix="og: http://ogp.me/ns#">
Kod źródłowy witryny Open Graph (przy użyciu atrybutu HTML XMLNS):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">
Dokumentacja Facebook Open Graph (przy użyciu atrybutu prefiksu HEAD):
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
Dokumentacja Facebook Open Graph nr 2 (przy użyciu atrybutu HTML XMLNS):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">
Jaka jest zalecana metoda, czy to w ogóle nie ma znaczenia?
facebook
facebook-opengraph
xml-namespaces
Matt Beckman
źródło
źródło
Odpowiedzi:
Wszystkie są równoważne i będą działać.
Użyj przedrostka, ponieważ jest to nowy zalecany sposób i zawiera mniej znaków.
Zaktualizuję całą naszą dokumentację do prefiksu.
źródło
xmlns
. Czy powinienprefix
być również używany nahtml
lubhead
tag? Czy i tak byłoby dobrze? Co jest zalecane?prefix
nahead
. Działa na obu, ale bliżej tagów jest lepsze.Próbowałem podążać za odpowiedzią @Paul Tarjan, używając przedrostka w głowie. Jednak mam problem z Internet Explorerem 8 . Więc ostatecznie nadal używam sposobu xmlns dla przestrzeni nazw fb:
<!DOCTYPE HTML> <html xmlns:fb="http://ogp.me/ns/fb#"> <head prefix="og: http://ogp.me/ns# object: http://ogp.me/ns/object#">
źródło
To nawet nie ma znaczenia. Podstawowy kontekst początkowy RDFa rozpoznaje
og
jako powszechnie używany przedrostek słownictwa:Podkreślenie dodane dla jasności.
Dlatego nie musisz dodawać przestrzeni nazw do dokumentów HTML. Więcej informacji tutaj .
źródło
<html xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns# fb: http://www.facebook.com/2008/fbml"> <head>
Jest najlepszy sposób weryfikacji.
źródło
atrybut prefix / xmlns jest przydatny do definiowania krótkiej ręki. rdf pochodzi z linii xml, więc notacja xmlns powinna działać niezależnie od szczegółów typu dokumentu. rdfa rozszerza html o atrybuty, w tym przedrostek podany przez http://www.w3.org/TR/rdfa-in-html/#extensions-to-the-html5-syntax Jednak wymaga to przestrzegania http: // dev. w3.org/html5/rdfa/rdfa-module.html Oczekiwano również na obsługę narzędzia dla rel = "profile", jak tam wspomniano. Do tego czasu wybór polega na używaniu starszych typów dokumentów lub ręcznym umieszczaniu rdf: w celu walidacji lub czekaniu, aż walidator i inne narzędzia nadrobią zaległości. Właściwym miejscem do złożenia deklaracji jest dowolny znacznik otwierający element, który jest przodkiem wszędzie tam, gdzie będzie używana notacja skrócona. Szczególnie w przypadku przedrostka og, jego predefiniowany przez początkowy kontekst RDFa Core http://www.w3.org/2011/rdfa-context/rdfa-1.1.html, więc całkowite pominięcie go w przypadku nowszych typów dokumentów jest w porządku. Szczególnie w przypadku html5 kontekst początkowy RDFa http://www.w3.org/2011/rdfa-context/html-rdfa-1.1 jest ładowany dopiero po wspomnianym wcześniej kontekście początkowym RDFa.
źródło