Попытка установить MetaTag динамически - PullRequest
3 голосов
/ 30 августа 2010

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

Возникли проблемы при использовании 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');

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

Две вещи. Сначала убедитесь, что вы включаете jQuery, так как $ () - это метод jQuery. Это означает в том числе что-то вроде:

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

Во-вторых, я не думаю, что вы действительно хотели передать переменные name и viewport. Скорее, вы должны передать строки как:

setOrCreateMetaTag('name', 'viewport', 'width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0');
0 голосов
/ 04 февраля 2015

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

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