Ответ 1
Не изменяя исходный код jquery-mobile.js, единственный способ, которым я могу это сделать, - добавить свои собственные ссылки навигации в заголовок. Когда вы добавите свою собственную ссылку, автоматическая кнопка "Назад" исчезнет, поэтому мы создадим 2 ссылки, одну для спины и одну для дома.
Вы заметите, что страницы 2 и 3 имеют кнопки возврата и домашнюю кнопку, и вы можете либо вернуться, либо перейти прямо к дому. Это требует, чтобы вы изменяли раздел "заголовок" для каждой страницы, но это не было большой сделкой, так как она всегда была одинаковой (копировать и вставлять) никаких изменений для каждого экземпляра.
Ссылка "home" будет находиться в верхнем правом углу (в соответствии со стандартным поведением второй ссылки, чтобы она была сверху справа).
Вот пример:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css" />
<script src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"></script>
</head>
<body>
<div data-role="page" id="firstpage">
<div data-role="header">
<h1>First Page</h1>
</div>
<div data-role="content">
<p>I'm first in the source order so I'm shown as the page.</p>
<p>View internal page called <a href="#secondpage">second page</a></p>
</div>
<div data-role="footer">
<h4>Page Footer</h4>
</div>
</div>
<div data-role="page" id="secondpage">
<div data-role="header">
<a href='#' class='ui-btn-left' data-icon='arrow-l' onclick="history.back(); return false">Back</a><h1>Bar</h1><a href="#firstpage">home</a>
</div>
<div data-role="content">
<p>I'm first in the source order so I'm shown as the page. (this is secondpage)</p>
<p><a href="#thirdpage">Go to third page</a></p>
</div>
<div data-role="footer">
<h4>Page Footer</h4>
</div>
</div>
<div data-role="page" id="thirdpage">
<div data-role="header">
<a href='#' class='ui-btn-left' data-icon='arrow-l' onclick="history.back(); return false">Back</a><h1>Bar</h1><a href="#firstpage">home</a>
</div>
<div data-role="content">
<p>I'm first in the source order so I'm shown as the page. (this is thirdpage)</p>
</div>
<div data-role="footer">
<h4>Page Footer</h4>
</div>
</div>
</body>
</html>
Если вы хотите сделать это автоматически, вы также можете просто взломать js...
Сразу после этой части кода (вокруг строки 1084 неминифицированного jquery.mobile-1.0a2.js)
$( "<a href='#' class='ui-btn-left' data-icon='arrow-l'>"+ o.backBtnText +"</a>" )
.click(function() {
history.back();
return false;
})
.prependTo( $this );
Добавьте строку, подобную этой, где # первая страница - это идентификатор вашей домашней страницы, я не смог найти способ ссылаться на домашнюю страницу, не назвав ее по имени, не стесняйтесь улучшать. Я не хотел do/или просто # не будет работать... но этот метод работает
$( "<a href='#firstpage' class='ui tn-right'>Home</a>" ).appendTo( $this );