【问题标题】:Trying to set MetaTag dynamically尝试动态设置 MetaTag
【发布时间】:2011-04-05 14:17:05
【问题描述】:

我正在尝试将元标记动态设置到文档的开头。这是我需要通过代码添加的移动设备特定元标记。我在这里找到了这个解决方案:

Having trouble using jQuery to set meta tag values

但它似乎不起作用,我做错了什么?

function setOrCreateMetaTag(metaName, name, value) {
    var t = 'meta['+metaName+'='+name+']';
    var mt = $(t);
    if (mt.length === 0) {
        t = '<meta '+metaName+'="'+name+'" />';
        mt = $(t).appendTo('head');
    }
    mt.attr('content', value);
}

setOrCreateMetaTag(name, viewport, 'width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0');

【问题讨论】:

  • 你必须在Javascript中设置这个吗?在服务器端做呢?
  • 另外,我知道这是一件小事,但 (mt.length===0) 不能只是 (!mt.length) 吗?
  • 是的,我需要在 Javascript 中执行此操作。它依赖于 JS 中的一个动作。

标签: javascript jquery html meta-tags


【解决方案1】:

两件事。首先确保您包含 jQuery,因为 $()​​ 是一个 jQuery 方法。这意味着包括以下内容:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>    

第二,我不认为你真的打算传递变量名称和视口。相反,您应该传递如下字符串:

setOrCreateMetaTag('name', 'viewport', 'width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0');

【讨论】:

    【解决方案2】:

    您似乎需要在名称和视口周围加上引号,除非这些是在其他地方设置的变量:

    setOrCreateMetaTag('name', 'viewport', 'width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0');
    

    【讨论】:

    • .. 但这和之前的回答不一样吗?
    猜你喜欢
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 2020-09-24
    • 2017-03-24
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多