android - Android 浏览器 WIDTH 问题上的 Web 应用程序

标签 android css browser meta-tags

到目前为止,我只在 Android 浏览器上遇到过这个问题。基本上我的网站几乎一直都运行良好(而且我还没有在 Dolphin、Opera 或 Skyfire 上看到问题)但是偶尔当我从手机主屏幕之一的书签重新打开 Android 浏览器时,我的网站出现水平拉伸(stretch),所以现在我只看到左侧的前 2/3。就好像浏览器在最小化时丢失了 CSS 或元信息。这是我的元标记,我在我的表格样式中使用宽度 100%。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="keywords" content="Task, Tasks, Goal, Goals, Habit, Habits, Track, Tracking, Best Habit Tracker"/>
<meta name="description" content="Top Habit Tracker!"/>
<meta name="mobileoptimized" content="0"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

这个问题似乎只有在大约 30 分钟后点击书签时才会发生。重新打开股票 Android 浏览器。然后,浏览器似乎从它的缓存中获取页面,但仍然为 ajax 运行窗口 onload,所以我认为它使用浏览器缓存页面与(也许?)来自 ajax 的 javascript DOM 操作的组合是什么Android 股票浏览器有独特的问题,在视口(viewport)外打破了我的表格宽度。或者 DOM 更改可能与它无关。

如果手机关机后再开机,点击了书签,原版浏览器从服务器重新加载页面,那么我就不会遇到问题。如果浏览器最小化,并且在 2 分钟后重新点击书签,也没有问题,因为浏览器只是重新显示自己和最后一页,完全按照它离开时的样子,没有做任何事情。

我一直在考虑某种 hack 方法,如果页面是从浏览器缓存中获取的,我可以放在上面强制从服务器重新加载,或者我想我可以尝试关闭浏览器缓存,但我'我想知道这样做对图像、CSS、加载时间等的影响。权衡我的选择……欢迎提出想法。

更新:关闭浏览器缓存可能会降低此问题的发生率(不确定?),但绝对不能解决问题。我现在想我可能遇到了与这篇博文中描述的相同的问题:

http://www.gabrielweinberg.com/blog/2011/03/working-around-androids-screenwidth-bug.html

更新:好的,到目前为止,我没有尝试过在我的 Android 浏览器中阻止这个间歇性问题。我打算将我的应用程序的常规使用切换到 Dolphin 一段时间,看看问题是否出现在该浏览器中。到目前为止我尝试过的是:使用元标记禁用浏览器缓存(我认为在某种程度上 Android 浏览器无论如何都会忽略它)...更改表格宽度(我可能会以不同的方式再次尝试)...使用此处评论 14 中发布的解决方案(动态创建 CSS 链接):https://code.google.com/p/android/issues/detail?id=11961#c14最后,我尝试将日期时间标记附加到 URL 以减轻缓存,但这也没有用。

此处提供更多有用信息:http://f055.tumblr.com/post/6364300769/viewport-bugs-in-android-browser

最佳答案

不确定这是否对您有帮助 - 但这是我为我的移动应用所做的

 This is the only meta I use...
 <meta content="initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" name="viewport">


 <div class=general>

 All Ur Content in here etc - or next div etc...
 Below the margin-left: 1% and margin-right: 1% formats your div to your width
 So if ur browser is upright or wide - it is always 1% border width and fits screen.
 Don't use any table width=800 or anything - control it with the 1% margins

 </div>

 .general { 
 font-family: Verdana; font-size: 10pt; font-weight: normal;
 position: relative;
 background-color: #fafafa;
 padding: 8px;
 margin-top: 4px;
 margin-left: 1%;
 margin-right: 1%;
 border: 1px solid #000;
 border-radius:5px;
 }

关于android - Android 浏览器 WIDTH 问题上的 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10541712/

相关文章:

javascript - onclick 不是保留字。那么 javascript 是如何知道将一个名为 onclick 的函数与一个点击事件相关联的呢?

browser - 在哪里可以找到浏览器统计信息?

php - 使用<img src =""/>时如何从远程界面查看本地网络的图像?

android - 在(谷歌)Play 商店发布后无法使用亚马逊登录(它在 Release模式下工作)

c# - 最新版本的 Unity 和 Google 无法生成 APK 构建并显示 Android Manifestation 脚本错误

java - 从字符串值设置 Android 图像

javascript - 使用 Zoomooz 放大特定的 div

html - 如何通过 Ctrl+F 使图像可搜索

android - 用于查找 Android 应用程序(在 Android Market 和其他地方)的 JSON 搜索 API?

html - 是否可以防止CSS中连字符之间的换行?