iPad 主屏幕 Web 应用程序失败

Posted

技术标签:

【中文标题】iPad 主屏幕 Web 应用程序失败【英文标题】:iPad Home Screen Web App Failure 【发布时间】:2011-04-05 16:53:06 【问题描述】:

我们有一个 ipad 网络应用程序,它需要它所能获得的所有屏幕空间。计划是在应用程序完成后使用“添加到主屏幕”功能。但是,我们在通过主屏幕启动应用程序时遇到了一个重大问题。使用 html5 文档类型时,页面似乎只是呈现为纯文本(没有加载任何样式表或 javascript 文件)。相反,使用 XHTML 1.0 Transitional Doctype 会导致页面正确呈现,但我们使用的是 jQuery Mobile,它需要 HTML5 Doctype 才能工作。

我曾尝试简单地使用“全屏”元标记等,但它们似乎也不起作用。这是我们标头代码的当前状态:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<!--<!DOCTYPE html>-->

<html lang="en">
<head runat="server">
    <meta charset="utf-8" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" /> 
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
    <title>PAGE TITLE</title>
    <link href="favicon.png" rel="icon" type="image/png" />


   <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.css" />  
   <!-- cut other stylesheets and javascript files being loaded -->
   <link rel="stylesheet" href="/Vertex.Web/Content/style/tablet/tablet.css" type="text/css" media="all" />

根据我所做的研究,听起来 ipad 从主屏幕启动时使用的是 web.app 而不是 safarimobile.app。我想知道这是否至少是问题的一部分。另一种想法是,ipad 在从主屏幕启动时尝试使用本地缓存,而在加载样式表和 javascript 时,它只是不喜欢相对路径或外部 URL。

有趣的事实:当我们第一次从主屏幕打开页面时,在页面中使用这两种 Doctype 将导致正确呈现,但由于解析错误(这是意料之中的,因为它是一个可怕的、可怕的解决方案)

【问题讨论】:

我的网站使用 HTML5“doctype”并安装到主屏幕就好了。您是否尝试过删除 runat 属性?这是您的代码示例中一个明显的非标准事物;否则我看不出问题的明确原因。 runat 属性是 ASP.NET 的一部分,当代码实际在浏览器中呈现时它不会显示。 感谢您的澄清。无论如何,我会考虑文档类型之外的其他原因,因为这不是核心问题。 感谢您的建议。我会继续尝试各种方法,希望能找到导致问题的原因。 如果我是你,我会做一个概念验证 - 最简单的页面,带有 html5 文档类型和少量内容,看看它是否有效以及何时停止 【参考方案1】:

尝试添加清单文件,在此处阅读更多内容

https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/OfflineApplicationCache/OfflineApplicationCache.html

【讨论】:

感谢您的建议。不幸的是,我不知道这是否会解决问题,因为自从我提出问题以来项目已经推进,问题不再有效。

以上是关于iPad 主屏幕 Web 应用程序失败的主要内容,如果未能解决你的问题,请参考以下文章

cache.manifest / 离线使用网络应用程序的奇怪行为保存到 ipad ios6 上的主屏幕

iPad 远程调试

如何为应用程序自定义 iPad 图标主屏幕?

iPad 应用程序在锁定屏幕后变为非活动状态

ipad浏览器全屏隐藏状态栏

如何使用 iOS 13 在 iPad/iPhone 上隐藏页面缩放栏