2

我在这里和网络上浏览了许多主题,试图解决我的问题。我非常接近找到解决方案,但有一件事仍然无法正常工作。

我有一个 640 像素宽的移动网站。它应该:

  • 在所有浏览器上正确显示放大,更改设备方向时也是如此
  • 用户不应该能够放大(输入字段也不)。

我已使用此视口元标记来完成此操作:

< meta name="viewport" content="width=640,maximum-scale=0.5,initial-scale=0.5, minimum-scale=0.5" />

这在 Android 上非常有用,无论是纵向还是横向。它在 iOs 上也适用于纵向,但它显示站点在横向上缩小,因此它不适应手机的宽度,但保持原始纵向尺寸。我已经在 iPhone 5 和 iPhone 4S 上对此进行了测试。

我发现主要是响应式网站的问题,而不是固定移动网站的问题。是否可以通过更改视口元标记来解决我的问题?还是我应该研究 javascript 来解决这个问题?

提前致谢。

  • 编辑:如果有人感兴趣,我在 Coldfusion 中使用了这段代码,现在运行良好(iOs 和 Android):

    <cfif findNoCase('iPhone', cgi.http_user_agent,1)><meta name="viewport" content="width=640" /><cfelse><meta name="viewport" content="width=640,maximum-scale=0.5,initial-scale=0.5, minimum-scale=0.5" /></cfif>
    
4

1 回答 1

2

我倾向于在脑海中使用这些代码来优化响应式网站:

<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="cleartype" content="on">

也许添加这些可以解决您的问题?

我从经验中知道,iOS Safari 在某些情况下表现得很奇怪。这是我用来解决我之前遇到的其他一些问题的一行:

<!-- This script prevents links from opening in Mobile Safari. https://gist.github.com/1042026 -->
<!--
<script>(function(a,b,c){if(c in b&&b[c]){var d,e=a.location,f=/^(a|html)$/i;a.addEventListener("click",function(a){d=a.target;while(!f.test(d.nodeName))d=d.parentNode;"href"in d&&(d.href.indexOf("http")||~d.href.indexOf(e.host))&&(a.preventDefault(),e.href=d.href)},!1)}})(document,window.navigator,"standalone")</script>
-->

或者,您可以尝试将您的网站作为 iOS Web 应用程序运行:

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="">

希望其中一些可以解决您的问题:)

于 2013-09-02T08:53:57.310 回答