이렇게 나쁘다고 설명하는 것이 조금 이상합니다.jquery AJAX backbutton problems
나는 결국 ios 앱을 만들려고하는 모바일 사이트에서 일하고 있습니다. 이 페이지에는 메뉴 버튼이 있습니다.이 버튼은 클릭 할 때 메뉴를 표시하거나 숨 깁니다.
거의 모든 것이 제대로 작동하지만 "뒤로"버튼을 클릭하면 브라우저가 이전 위치로 돌아가서 메뉴 단추가 끊어지는 문제가 있습니다. 그것을 클릭하면 아무 일도 일어나지 않습니다. 그것은 아무 것도없는 것처럼 행동합니다.
색인 (또는 첫 번째 페이지)에서 앞으로 이동하려면 하나의 링크를 클릭 한 다음 브라우저에서 뒤로 단추를 누르면 오류가 즉시 발생합니다.
예를 들어 인덱스에 5 개의 링크가있는 순서로 5 개의 링크가있는 경우 (본질적으로 5 배가 됨) 까지 다시을 누르십시오. 메뉴는 여전히 작동합니다. 링크를 앞으로 계속 누르고 있으면 좋을 것입니다. 원하는만큼 멀리 내리고 짧은 시간을 총계 시간보다 짧게 유지하십시오.
곧으로 최대 등을 맞 춥니 다. 다시 페이지 위치 기록에 남아 있지 않아 메뉴가 중단됩니다.
참고 : 로드 할 때 수동으로 브라우저를 약 400 너비로 축소하여 페이지가 적용되는 것을 볼 수 있도록이 더미 사이트의 링크입니다 (내 서버에서).
편집 ** woops는 http://somdowprod.net/4testing/mobile/less1.html
여기 내 코드
자바 스크립트입니다 링크를 잊었 : (내 논리에서 어디에 있는지 볼 수 있도록 내가 ..., 거기에 아마 메신저 코멘트를 남겨 그것에 대해 잘못 가고있는거야?)
// 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