Rails 3 UJS и XHTML - PullRequest
       14

Rails 3 UJS и XHTML

2 голосов
/ 12 сентября 2010

У меня простой вопрос о том, как Rails 3 работает с типами XHTML.Поскольку Rails 3 использует UJS для своих вызовов ajax (и даже обычных вызовов, таких как вызовы удаления) и делает это с помощью атрибутов данных HTML5, то, поскольку XHTML не поддерживает атрибуты данных, будет ли разметка автоматически недействительной?

1 Ответ

6 голосов
/ 12 сентября 2010

Атрибуты data-* действительны в XHTML5 , который является одной из кодировок HTML5.Они недопустимы в XHTML 1.0, но это, вероятно, не большая проблема.

Скорее всего, если вы предоставляете свой контент в реальных браузерах, они анализируют его как HTML, а не XHTML.Если вы используете свой контент как text/html, браузеры будут анализировать его как HTML.Если вы используете его как application/xhtml+xml, IE 6 отобразит его как необработанный XML, а не как HTML, и в других браузерах, если вы допустите одну маленькую ошибку, они прекратят его анализ и отобразят уродливое сообщение об ошибке, а не просто продолжатпри попытке разобрать остальную часть контента.Если вы используете его как text/html, тогда браузеры будут анализировать его как text/html, поэтому не имеет значения, является ли он действительным XHTML или нет.

Даже если это недопустимый XHTML 1.0, он все еще исправени веб-браузеры не проверяют пользовательские агенты, поэтому не имеет значения, является ли контент действительным или нет.Весь смысл атрибутов data-* заключается в предоставлении приватных данных для скриптов на странице.Так как атрибуты data-* не мешают правильному оформлению документа, браузер все равно будет анализировать документ очень хорошо, и ваши скрипты, таким образом, будут иметь доступ к данным, независимо от того, являются ли данные действительными XHTML.

Результат: эти атрибуты действительны в HTML5 и XHTML5.Они недопустимы в XHTML 1.0, но это не имеет значения, поскольку эти атрибуты будут работать во всех основных браузерах, чтобы предоставлять личные данные для сценариев на вашей странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...