Я видел противоречивую информацию о том, как лучше всего реализовать пространства имен Open Graph. В частности, веб-сайт Open Graph использует несколько различных методов, а примеры Facebook Open Graph используют другие методы.
Пример веб-сайта Open Graph (с использованием атрибута префикса HTML):
<html prefix="og: http://ogp.me/ns#">
Исходный код веб-сайта Open Graph (с использованием атрибута HTML XMLNS):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">
Документация Facebook Open Graph (с использованием атрибута префикса HEAD):
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
Документация Facebook Open Graph №2 (с использованием атрибута HTML XMLNS):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">
Какой метод рекомендуется использовать или это вообще не имеет значения?
facebook
facebook-opengraph
xml-namespaces
Мэтт Бекман
источник
источник
Ответы:
Все они эквивалентны и все будут работать.
Используйте префикс, так как это новый рекомендуемый способ, в котором меньше символов.
Я обновлю всю нашу документацию до префикса.
источник
xmlns
. Кроме того, следуетprefix
использовать тегhtml
илиhead
? В любом случае все будет хорошо? Что рекомендуется?prefix
наhead
. Он работает на обоих, но лучше ближе к тегам.Я пробовал следовать ответу @Paul Tarjan об использовании префикса в голове. Однако у меня возникла проблема с Internet Explorer 8 . Итак, в конце концов, я все еще использую способ xmlns для пространства имен fb:
источник
Это даже не имеет значения. Исходный контекст RDFa Core распознает
og
как широко используемый префикс словаря:Выделение добавлено для ясности.
Следовательно, вам не нужно добавлять пространство имен в ваши HTML-документы. Больше информации здесь .
источник
Есть лучший способ проверить.
источник
Атрибут prefix / xmlns полезен для определения сокращений. rdf взят из линии xml, поэтому следует ожидать, что нотация xmlns будет работать независимо от деталей типа документа. rdfa расширяет html с помощью атрибутов, включая префикс, указанный в http://www.w3.org/TR/rdfa-in-html/#extensions-to-the-html5-syntax. Однако для этого необходимо придерживаться http: // dev. w3.org/html5/rdfa/rdfa-module.html Кроме того, пока ожидается поддержка инструмента для rel = "profile", как упомянуто в нем. До этого момента можно выбирать между использованием старых типов документов или размещением rdf: вручную для целей проверки или дождаться, пока валидатор и такие инструменты наверстают упущенное. Правильным местом для объявления является любой открывающий тег элемента, который является предком того места, где будет использоваться сокращенная запись. В частности, в случае префикса og он предопределен исходным контекстом RDFa Core http://www.w3.org/2011/rdfa-context/rdfa-1.1.html, поэтому его можно полностью пропустить для новых типов доктринов. В частности, для html5 начальный контекст RDFa http://www.w3.org/2011/rdfa-context/html-rdfa-1.1 загружается только после упомянутого ранее начального контекста RDFa.
источник