2010-08-30 69 views
3

我試圖動態設置一個元標記到我的文檔的頭部。這是我需要通過代碼添加的移動設備特定元標記。我發現這個解決方案在這裏:試圖動態設置MetaTag

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

你必須設置這個在Javascript ?怎麼做服務器端? – hwiechers 2010-08-30 05:55:44

+0

也,我知道這是次要的事情,但不能(mt.length === 0)只是(!mt.length)? – Trafalmadorian 2010-08-30 13:08:15

+0

是的,我需要在Javascript中執行此操作。它依賴於JS中的一個動作。 – Chamilyan 2010-08-30 20:22:37

回答

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

好像你將需要約名稱和視口報價,除非這些設置變量別的地方:

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

..但是不是像以前的人一樣回答嗎? – 2015-02-04 00:02:10