javascript - 为什么元标记注入(inject)不适用于桌面浏览器?

标签 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 打开时,“meta”标签没有显示任何效果。我已经尝试用分号代替逗号,但没有效果......

有什么想法吗?

最佳答案

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

Note: The viewport meta tag is ignored on desktop versions of 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?

关于javascript - 为什么元标记注入(inject)不适用于桌面浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21304370/

相关文章:

javascript - 错误: Cannot find module './server/controllers/meetups-controller'

javascript - 遍历 $ ("body")除了使用 jquery 的某些标签

javascript - 如何检查数据是否存在以呈现结果?

javascript - 从 Javascript 更新数据库属性

javascript - 在函数中设置可选回调的最佳方法

jquery - 多选的返回值

javascript - 使用 Ajax POST 请求将图像和 JSON 数据发送到服务器?

javascript - 如何使用 Ajax、jQuery 和 PhP 保存当前 DOM?

javascript - 向嵌套列表中的父节点 (<a>) 添加类

javascript - 从超链接单击添加文本框和标签