현재 Asp.net MVC 및 jQuery mobile을 사용하는 작은 웹 앱을 작성 중입니다. 데스크톱 테스트 환경과 iPad의 Safari 브라우저에서는 모든 것이 잘 렌더링됩니다. 그러나, 내가 머리에 <meta name="apple-mobile-web-app-capable" content="yes" />
을 추가하면 나는 이상한 행동을하기 시작한다. 내가 사과 모바일 웹으로 '홈 화면'아이콘에서로드하려고 할 때마다 충돌 할 첫번째 사파리에서iOS 웹 앱 apple-mobile-web-app-capable 문제
<%@ Page Title="Test App" Language="C#" Inherits="System.Web.Mvc.ViewPage<TestApp.ViewModels.LoginViewModel>" %>
<!DOCTYPE html>
<html>
<head runat="server">
<meta charset="UTF-8" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon" sizes="72x72" href="../../../Content/Images/touch-icon-ipad.png" />
<!-- <link rel="apple-touch-startup-image" sizes="1024x748" href="../../../Content/Images/splash-screen-1024x748.png" />
<link rel="apple-touch-startup-image" sizes="768x1004" href="../../../Content/Images/splash-screen-768x1004.png" /> -->
<title>Test App</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
<script src="../../../Scripts/jquery.1.7.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js" type="text/javascript"></script>
<link rel="Stylesheet" href="../../../Content/jquery-mobile-fluid960.css" />
<link rel="Stylesheet" media="screen" href="../../../Content/mobile.css" />
<script type="text/javascript">
function BlockMove(event) {
// Tell Safari not to move the window
event.preventDefault();
}
</script>
</head>
<body id="login" ontouchmove="BlockMove(event);">
: 여기
아래의 설명은 내 간단한 테스트 로그인 페이지의 시작입니다 -app-capable content = "yes"가 아니라 content = "no"또는 누락 된 경우. 테스트를 통해 사파리가 충돌하지 않는 스플래시 이미지를 주석 처리했지만 이상한 코드가로드 될 수 있음을 발견했습니다. 사파리 크롬이에 가정처럼 사라질 것입니다 만 몸에서이 텍스트를 표시합니다 :이 페이지의 제목과 본문에 일반 텍스트로 머리에서 내 자바 스크립트를 나열하기 때문에Test App function BlockMove(event) { // Tell Safari not to move the windowevent.preventDefault();} Mobile: Password:
이 이상하다 . 그 위에 자바 스크립트 또는 CSS가 실행되고 있지 않습니다. 이전에 말했듯이 정상적인 iOS Safari 브라우저에서 제대로 작동하거나 apple-mobile-web-app-capable가 없거나 no로 설정된 경우이 동작은 이상합니다. 내가 찾은 사파리 충돌 로그가 있지만 소스가없는 사람들과별로 할 수없는 것을 이해하고 있습니다.
왜 이런 일이 벌어 질 수 있는지에 대한 통찰력은 내가 잃어버린 것이므로 크게 감사하겠습니다. 나는 운이없는 같은 문제를 가진 다른 누군가를 찾으려고 노력하는 날을 찾고 있었다. 다행히도 내가 간과하는 것은 간단합니다. 감사.
감사합니다. 그것은 모든 테스트가 그 가능성을 가리키고 있기 때문에 꽤 흥미 롭습니다. 나는 그것이 규칙적인 사파리에서 멋지게 렌더링 될 것이지만 집의 아이콘으로는 왜 잘되지 않을지 이해할 수 없었다. 나는 오늘 그 해결 방법을 줄 것이다. – PJH
최근의 몇 가지 테스트에서 흥미로운 점이 하나 있습니다. ContentType을 다시 application/xhtml + html로 변경하여 C#으로 코딩 된 HTML 요소를 <% : Html.TextBoxFor (model => model.LoginID) %>'와 같이 표시 할 수 있습니다. 다시 한번 이것은 web-app-capable가 있고 yes로 설정된 경우에만 해당됩니다. 다행히이 중 하나 또는 둘 모두가이 기괴한 행동을 해결하는 데 도움이 될 수 있습니다. – PJH