Bez modyfikacji kodu źródłowego jquery-mobile.js, jedynym sposobem, w jaki mogę to zrobić, jest dodanie własnych linków nawigacyjnych do nagłówka. Po dodaniu własnego linku automatycznie zniknie przycisk "Wróć", więc utworzymy 2 linki, jedno do tyłu, a drugie do domu.
Zauważysz, że strona 2 i 3 mają przyciski powrotu i przycisk strony głównej, a Ty możesz wrócić lub przejść bezpośrednio do domu. Wymaga to zmodyfikowania sekcji "nagłówka" dla każdej strony, ale nie jest to zbyt duża oferta, ponieważ zawsze jest taka sama (kopiowanie i wklejanie) bez konieczności modyfikacji na instancję.
Łącze "domowe" będzie znajdować się w prawym górnym rogu (zgodnie z domyślnym zachowaniem drugiego linku, aby umieścić go w prawym górnym rogu).
Oto przykład:
<!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>
Jeśli chcesz, aby to zrobić automatycznie, można też po prostu włamać js ...
Zaraz po tym kawałku kodu (wokół linii 1084 niewykonania minified 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);
Dodaj linię tak, gdzie #firstp age jest identyfikatorem twojej strony głównej, nie mogłem znaleźć sposobu na odniesienie się do strony głównej bez wywoływania jej po imieniu, nie krępuj się poprawić ... Nie chciałem zrobić/lub tylko # nie zadziała. . ale ta metoda działa
$("<a href='#firstpage' class='ui tn-right'>Home</a>").appendTo($this);
Twoje łącze wskazuje na 1.0alpha1. Tylko dlatego, że wiesz - najnowsze wydanie to alpha3 i jeśli korzystasz z jakiegokolwiek odniesienia lub samouczków - te dla alpha1 są niekompatybilne. – naugtur