這有點奇怪,可以解釋爲什麼我這樣做不好。jquery AJAX後退問題
即時通訊工作在一個移動網站,即時嘗試塑造成一個iOS應用程序(最終)。 在這個頁面上,我有一個菜單按鈕,點擊,顯示/隱藏菜單。
大部分工作都可以正常工作,但問題在於,當您點擊「返回」按鈕並且瀏覽器用完之前的位置返回時,菜單按鈕會中斷。當你點擊它時,沒有任何反應。它表現得好像什麼都沒有。
錯誤是這樣的,如果在索引(或第一頁)上,您單擊一個鏈接前進,然後在瀏覽器上點擊後退按鈕,它會立即中斷。
如果你在索引上,並以任何順序打5個鏈接(本質上是你前進5xs),然後,你打回高達4xs,菜單仍然工作....你可以基本上繼續向前按鏈接並保持良好狀態,儘可能按照你想要的方式回擊,並且停止短於你前進的總次數並且仍然沒問題。
由於很快當你擊中最大的背部,並且在頁面位置的歷史記錄中沒有任何東西可以返回時,菜單隨即打破。
這裏是這個假網站的即時通訊工作的鏈接(我的服務器上) 注:測試,在加載時,手動縮小瀏覽器約400寬度,所以你可以看到頁面生效。
編輯** woops忘了鏈接 http://somdowprod.net/4testing/mobile/less1.html
,這裏是我的代碼
的javascript:(我離開的意見在裏面,所以你可以看到我的邏輯是...也許IM去錯了嗎?)
// JavaScript Document
$(document).ready(function(){
var newHash = "";
var menuBtn = $('.leftButton');
//~~~~~~~~~~~~~~~~~~~~~~~~~~~menu show/hide
menuBtn.click(menuShowHide);
//===========================//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~MENU SHOW/HIDE
function menuShowHide(){
$('#menu').toggleClass();
// if($('#menu').css("display") == "none"){
// $('#menu').css("display","block");
// } else {
// $('#menu').css("display","none");
// }
scroll(0,0);
}
//===========================//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~ACTIONS FOR THE is-loaded trick.
function isLoaded(){
$('#progress').remove();
}
//===========================//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~ACTIONS FOR THE HOME PAGE
if(newHash == ""){
$('body').append('<div id="progress">Loading...</div>');//attach this div which is made to look like a loading bubble.
$('#contentHere').load('index.html #content', isLoaded);//load the content div from the index.html file
}
//===========================//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~Load the clicked content into my container via jQuery AJAX
$('#menu a').click(function(){
menuShowHide();
window.location.hash = $(this).attr('href');
return false; //doesnt let the link jump to a new page
});
$(window).bind('hashchange',function(){
newHash = window.location.hash.substring(1);
$('body').append('<div id="progress">Loading...</div>');//attach this div which is made to look like a loading bubble.
$('#contentHere').load(newHash, isLoaded);
//console.log(newHash);
});
//===========================//
});
任何人有什麼想法,什麼使菜單中斷?先謝謝了。
問題是,最終我想讓我的手機網站的行爲更像一個實際的移動應用程序(全屏幕,不跳頁面等)....我很欣賞你的觀點,但讓我問你......就邏輯而言,什麼是解決這個問題的好方法?先謝謝了 – somdow 2012-08-10 10:55:48