Попытка установить MetaTag динамически

я пытаюсь динамически установить метатег в заголовок моего документа. Это метатег для мобильного устройства, который мне нужно добавить с помощью кода. Я нашел это решение здесь:

Проблемы с использованием jQuery для установки значений метатегов

но это не работает, что я делаю не так?

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');

person Chamilyan    schedule 30.08.2010    source источник
comment
Вы должны установить это в Javascript? Как насчет того, чтобы сделать это на стороне сервера?   -  person hwiechers    schedule 30.08.2010
comment
Кроме того, я знаю, что это второстепенная вещь, но не может ли (mt.length===0) просто быть (!mt.length) ?   -  person Trafalmadorian    schedule 30.08.2010
comment
да, мне нужно сделать это в Javascript. Он основан на действии в JS.   -  person Chamilyan    schedule 31.08.2010


Ответы (2)


Две вещи. Сначала убедитесь, что вы включаете 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');
person christophercotton    schedule 23.05.2011

Похоже, вам понадобятся кавычки вокруг имени и области просмотра, если только это не переменные, установленные где-то еще:

setOrCreateMetaTag('name', 'viewport', 'width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0');
person Robert Madsen    schedule 03.02.2015
comment
.. но разве это не то же самое, что ответили предыдущие люди? - person Brian Tompsett - 汤莱恩; 04.02.2015