为什么元标记注入不适用于桌面浏览器?

时间:2014-01-23 09:39:21

标签: javascript jquery html

我的java脚本中有以下代码:

function initScreen() {
    isMobile = (/iPhone|iPod|Android|BlackBerry/).test(navigator.userAgent);
    isTablet = (/iPad/).test(navigator.userAgent);
    if(isMobile) {
        $('<meta name="viewport" content="initial-scale=0.30, maximum-scale=0.50, minimum-scale=0.25, width=device-width, user-scalable=yes">').appendTo('head');
    } else if(isTablet) {
        $('<meta name="viewport" content="initial-scale=0.95, maximum-scale=0.95, width=device-width, user-scalable=no">').appendTo('head');
    } else {
        $('<meta name="viewport" content="initial-scale=0.80, maximum-scale=0.80, width=device-width, user-scalable=no">').appendTo('head');
    }
}

由我的index.html在启动时调用:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript"> 
    $(document).ready(function() {
        initScreen();
    });
</script>
</head>

这适用于我的iPad以及基于iPhone和Android的手机。但是当我在桌面上使用firefox,chrome和safari打开时,&#34; meta&#34;标签没有显示任何效果。我已经尝试用分号替换逗号,但没有效果......

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

如果您指的是Firefox,Chrome和Safari的桌面版本,则大多数(如果不是全部)桌面浏览器都会忽略<meta name="viewport">

  

注意:桌面版Firefox上会忽略视口元标记。

     

https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Firefox_Mobile_for_developers

类似于Stack Overflow:

Does Viewport affect desktop browsers?

How do desktop browsers handle mobile meta tags?