在META标签中显示DIV中的内容

时间:2014-06-23 07:33:49

标签: javascript html content-management-system meta

我有一个这样的div:

            <div id="beskrivelse" class="description html_content" itemprop="description">
                {{description}}
            </div>

内容{{description}}在后​​端制作。

我如何才能将此内容显示在我的元数据中:

            <meta property="og:description" content=" HERE "/>

如果我写的话,我会收到语法错误:

            <meta property="og:description" content=" {{description}} "/>

这是一个简单的方法吗?也许把它放在某种变量中?

当我使用封闭系统Tictail.com时,我无法在后端更改此信息。 我希望我在{{description}}中写的内容显示在元标记中。

我不能使用任何php,asp(等)代码,因为该网站不允许这样做。

有什么建议吗?


我试过这个没有成功:

    <script language="javascript" type="text/javascript">  
    var descval = document.getElementById('beskrivelse').innerHTML;
    var paras = document.getElementsByTagName('meta');
    for (i = 0; i < paras.length; i++) {
        var test = paras[i].getAttribute('property');
        if(test == "og:description")
        {
           paras[i].content = descval;
        }
    }
    </script>

1 个答案:

答案 0 :(得分:0)

您的代码应该可以工作,因为您已经在DOM中使用了属性og:description的元素元素,并且您可以在页面底部或DOM-ready回调中运行脚本。就像在你的小提琴中一样,如果你将JS设置为在doDomready上运行(就像我here那样)。

如果您从一开始就没有在DOM中使用元元素,则可能需要创建它并将其附加到DOM。像这样:

<script>
// Get the content
var descval = document.getElementById('beskrivelse').innerHTML;
// Create the new meta-element
var elm = document.createElement("meta");
elm.setAttribute("property", "og:description") 
elm.setAttribute("content", descval);
// Append the element to the HEAD
document.getElementsByTagName("head")[0].appendChild(elm);
</script>