У нас есть веб-приложение для 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 пытается использовать локальный кеш при запуске с домашнего экрана, и ему просто не нравятся относительные пути или внешние URL-адреса при загрузке таблиц стилей и JavaScript.
Интересный факт: использование обоих типов документовна странице будет вызывать корректный рендеринг при первом открытии страницы с домашнего экрана, но дальнейшие попытки потерпят неудачу из-за ошибки разбора (что ожидается, так как это ужасное, ужасное решение)