Как установить атрибуты html/body tag в Meteor.js?
Мне нужно установить атрибуты в теге html или, альтернативно, тег тела документа в приложении Meteor.js.
В частности, я хочу иметь <html dir="rtl">
или <body dir="rtl">
..
Попытка последнего, я получаю сообщение консоли:
While building the application:
client/views/layout/layout.html:7: Attributes on <body> not supported
=> Your application has errors. Waiting for file change.
Итак, как вы это делаете?
Ответы
Ответ 1
Вы должны внедрить их при запуске в свой Javascript на стороне клиента:
Meteor.startup(function() {
$('html').attr('dir', 'rtl');
});
ОБНОВИТЬ
Обратите внимание, что теперь вы можете установить встроенные атрибуты для тегов тела, и они будут объединены Meteor так же, как и содержимое тега тела:
<body data-atttribute="foobar"></body>
У вас может быть несколько разных тегов тела, и они будут объединены, поэтому приведенное выше просто добавит один атрибут к существующему телу, а не заменит его.
Насколько мне известно, атрибуты HTML-тегов все еще должны быть установлены через Javascript.
Ответ 2
Атрибуты для тега HTML могут быть установлены на startup
с помощью функции WebApp.addHtmlAttributeHook
. Вот пример:
Meteor.startup(function() {
WebApp.addHtmlAttributeHook(function() {
return {
"dir": "rtl"
}
})
});
Убедитесь, что вы вызываете это на сервере, а не на клиенте.