iOS9 Safari视口问题,meta无法正确缩放?

时间:2015-11-09 21:25:47

标签: html ios safari ios9 meta

我对最近的网站部署存在一个奇怪的问题 - 该网站在任何iOS9 Safari移动浏览器上都无法正常扩展,这似乎会缩小网站。

对于任何其他设备而言,这似乎不是问题,我已经在Firefox(Android和桌面),Chrome(Android和桌面),Safari(桌面),IE(桌面)上进行了测试。

有没有人知道修复此问题?

非常感谢

[UPDATE]

继续讨论here之后,这个元似乎做了这个工作:

<meta name="viewport" content="initial-scale=1.0001, minimum-scale=1.0001, maximum-scale=1.0001, user-scalable=no"/>

唯一的问题是,我不希望像这样更改视口,以防它影响其他设备。有没有更好的解决方案专门针对iOS9?也许是通过浏览器嗅探?

再次感谢

1 个答案:

答案 0 :(得分:3)

我最终使用 HTTP_USER_AGENT 并为每个条件使用不同的元数据(下面的PHP解决方案):

<?php 
if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone') || strpos($_SERVER['HTTP_USER_AGENT'],'iPad' ) || strpos($_SERVER['HTTP_USER_AGENT'], 'iPod' ) !== false){
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'OS 9') !== false) {
        echo '<meta name="viewport" content="initial-scale=1.0001, minimum-scale=1.0001, maximum-scale=1.0001, user-scalable=no"/>';
    }
    else {
        echo '<meta name="viewport" content="<WHATEVER_CONTENT>"/>';
    }
} else {
    echo '<meta name="viewport" content="<WHATEVER_CONTENT>"/>';
}?>

希望这可以帮助将来遇到此问题的其他人。

[更新 - 更好的方法]

更好的是,而不是浏览器嗅探方法,感谢Krepelk(继前面提到的原始论坛之后) - 自iOS9以来,他们为网页引入了“缩小以适应”功能,其内容比视口。

可以通过在视口元标记中添加 shrink-to-fit = no 来恢复此操作:

<meta name="viewport" content="width=device-width, initial-scale=1, min-scale=1, max-scale=1, shrink-to-fit=no">

瞧!问题已解决并恢复为iOS8功能。我想这会影响很多网站...