Подтвердить что ты не робот

Как установить атрибуты 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.

Итак, как вы это делаете?

4b9b3361

Ответ 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"
        }
    })
});

Убедитесь, что вы вызываете это на сервере, а не на клиенте.