【问题标题】:How do you set html / body tag attributes in Meteor.js?Meteor.js 中如何设置 html/body 标签属性?
【发布时间】:2019-05-15 16:41:31
【问题描述】:

我需要在 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.

那么你是怎么做到的呢?

【问题讨论】:

    标签: meteor


    【解决方案1】:

    您必须在启动时在客户端 Javascript 中注入它们:

    Meteor.startup(function() {
       $('html').attr('dir', 'rtl');
    });
    

    更新

    请注意,您现在可以为 body 标签设置内联属性,它们将被 Meteor 以与 body 标签的内容相同的方式连接:

    <body data-atttribute="foobar"></body>
    

    你可以有多个不同的body标签,它们会被组合起来,所以上面只会给你现有的body添加一个属性,而不是替换它。

    据我所知,HTML 标签属性仍然需要通过 Javascript 设置。

    【讨论】:

    • @richsliv 有非 js 解决方案吗?
    • Meteor 是一个 javascript 框架,但你可以使用 coffeeScript。
    【解决方案2】:

    可以使用WebApp.addHtmlAttributeHook 函数在startup 上设置HTML 标签的属性。这是一个例子:

    Meteor.startup(function() {
        WebApp.addHtmlAttributeHook(function() {
            return {
                "dir": "rtl"
            }
        })
    });
    

    确保在服务器而不是客户端上调用它。

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 2018-03-27
    • 2013-01-07
    • 1970-01-01
    相关资源
    最近更新 更多