我们有一个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。
有趣的事实:在我们第一次从主屏幕打开页面时,使用页面中的两个Doctypes将导致正确的渲染,但是由于解析错误(这是预期的,因为它是一个可怕的,可怕的解决方案),进一步的尝试将失败