저는 매우 기본적인 jquery 모바일 페이지가 있습니다.이 페이지는 3 data-role:page
divs이고 하나는 index.php
입니다. 첫 번째 페이지는 단순히 배경 이미지이고 input type="tel"
은 position:fixed
이고 화면의 중앙에 있습니다. iPhone에 직접 사이트를로드하면 스타일과 위치가 모두 정확합니다.jQuery 모바일 링크가 외부 링크에서 오는 스타일이 아닙니다.
그러나 사람들은 매개 변수 (예 : ?event=123123123
, 임의의 문자열)를 전달하는 외부 링크를 통해 사이트에 도달합니다. 이 방법으로로드 할 때, 첫 번째 페이지는 항상 스타일이 없습니다. 즉, 입력 상자는 인라인, 머리말에서 선언, 외부 파일에서로드 등 모든 css, jquery.css 및 내 자신을 모두 무시합니다. If 나는 페이지를 새로 고친 다음 스타일이 시작되고 예상 한 것처럼 보입니다.
$('#step1').live('pagebeforecreate',function(event){
// alert('This page was just enhanced by jQuery Mobile!');
$('<div id="formbox"><form><input type="tel" name="number" id="number" value="" style="width:87%; height:40px; font-size:36px; font-weight: bold; left:14px; position:relative; text-align:center;" /></form></div>').appendTo('#formboxouter');
// var $container = $('#step1');
// refreshStyles($container);
$('#formbox').trigger('create');
// $(window.document).trigger("mobileinit");
});
I :
내가 좋아하는, 예를 들면 등 pageinit
, pagebeforeload
에 pageshow
바인딩처럼 기본적으로 내가 생각할 수있는 모든 것을 (그리고 아마 이해가되지 않는 많은 것들을) 시도했습니다 '벽면에있는 모든 것을 던져서 무엇이 달라 붙어서'라는 좌절의 단계에 도달했으며, 아무 것도 붙어 있지 않았습니다.
내부 링크 (예 : rel=external
)를 수정하는 방법에 대한 많은 정보를 찾았지만 왜 이런 일이 발생할 수 있는지 설명하지 못했습니다.
외부 매개 변수를 전달하면 스타일이로드되지 않는 이유는 무엇입니까?
감사합니다. 나는 그걸 조금 어리 석었지만 결국 문제는 실제로 '에 잘못 설정되었습니다. '으로 변경되면 스케일링 문제가 해결되었습니다. 나는이 페이지가 iphone 4s가 사용하는 640 대신에 320px에서 렌더링하려고 시도하고 있었기 때문에 상자가 리프레시까지 잘못 렌더링되게 만들었다 고 생각합니다. – Davezatch