jQuery Mobile을 사용하여 모바일 사이트를 구축하고 있으며 내 테스터 중 한 명이 다시로드, 딥 링크 또는 jQuery Mobile에 내장 된 표준 페이지 로딩 기능을 사용하여 DOM에로드 한 모든 페이지를 북마크에 추가 할 수 있습니다. 문서, 포럼 게시글, github 버그 목록 등을 검토 중이며 솔루션을 찾고 있습니다. 내가 잘못하고있는 일을 끝내고 있습니다. 필자가 본 것을 보여주는 매우 기본적인 두 페이지 예제를 작성했습니다.jQuery Mobile : Reloading/Deep Linking/Breaking When AJAX를 통해 DOM에 추가 된 페이지
는 첫째, 내 예를 들어 사이트의 루트 폴더에 index.html 페이지를 가지고있다 (즉, /index.html
)를 다음과 같이 보이 : 나는 '라는 폴더에 두 번째 페이지를 가지고
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.js"></script>
</head>
<body>
<!-- main page -->
<div data-role="page" data-theme="b" id="main">
<div data-role="header" data-theme="b">
<h1>Home Page</h1>
</div><!-- /header -->
<div data-role="content">
<ul data-role="listview" data-inset="true">
<li><a href="news/">News</a></li>
</ul>
</div><!-- /content -->
</div><!-- /main page -->
</body>
</html>
이처럼 보이는 뉴스 '(즉 /news/index.html
는) :
<div data-role="page" data-theme="b" data-add-back-btn="true" id="news">
<div data-role="header" data-theme="b">
<h1>News</h1>
</div><!-- /header -->
<div data-role="content">
TODO: page content goes here
</div><!-- /content -->
</div><!-- /#news page -->
그래서,이 위대한 작품. "홈 페이지"가 정상적으로로드됩니다. 브라우저 주소 입력란은 http://m.example.com/
입니다.
'뉴스'링크를 클릭하여 해당 페이지를 DOM에로드 할 수 있습니다. 브라우저 주소 필드에 http://m.example.com/news/
이 표시됩니다. 이것은 내 문제가있는 곳입니다. 브라우저 다시로드 버튼을 클릭하면 /news/index.html
페이지가 다시로드되지만 기본 홈페이지 컨텍스트가 완전히 없어져서 jQuery, CSS 또는 적절한 HTML 문서 구조가 없습니다. 그 URL과 그 문서의 내용이 주어지기를 기대합니다. 하지만 내 모바일 사이트 외부에서 딥 링크 될 때 작동하려면 하위 페이지에 대한 링크가 필요합니다.
http://m.example.com/#news/
을 사용하여 서브 페이지에 연결하면 서브 페이지가 올바르게로드되고 브라우저 주소 필드가 http://m.example.com/news/
으로 자동 재 작성되어 작동합니다. 이 문제는 사람들이 즐겨 찾기, 짹짹, 이메일 등 페이지 URL을 수정할 때마다 수동으로 URL을 편집해야한다는 것을 알 필요가 있다는 것입니다.
자동으로 브라우저를 다시 홈 페이지로 이동시킨 다음 DOM 페이지가 올바르게 다시 만들어 지도록 사용자에게 보이지 않는 서브 페이지로드를 트리거하는 방법이 있습니까? 내가 뭘 놓치고 있니?
감사합니다. Kane! 이것은 큰 도움이되었습니다. – Brandon