jQuery ajax 로 로딩되는 페이지에 있는 자바스크립트가 실행이 안될때(모바일웹)

뭐 대부분의 브라우져에서는 앵간해서는 ajax 로 로딩될 페이지에 있는 자바스크립트가 무난하게 실행된다.

그런데 오늘 문득 이때까지 맹근게 모바일에서도 잘 될까하는 궁금함에 아이패드로 접속을 해 보았다.

그런데 이건뭐 지대로 되는게 하나도 없었다.


※ ajax 로 div 안에 다른 페이지 로딩하기
// 요래 하면 여러가지 다양한 ajax 옵션을 줄수 있어서 개인적으로 더 선호한다.
$.ajax({
    url : "로딩할 페이지 URL, ex)/common/list.jsp",
    dataType : "html",
    type : "post",  // post 또는 get
    data : { a:"값1", b:"값2"},   // 호출할 url 에 있는 페이지로 넘길 파라메터
    success : function(result){
        $("#div 아이디").html(result);
    }
});

// 간단하게 요렇게 써도 됨
$("#div 아이디").load("로딩할 페이지 URL", {넘길 파라메터});



왜 그런가 하고 계속 문제를 따라가보니

ajax 로 로딩되는 페이지에 있는 자바스크립트가 전~~~혀 실행이 안됬기 때문에 이벤트 걸어놨던거 등등이 하나도 적용이 안됬기 때문이었다.

구글링과 오만 이상한 짓을 다 해봤는데 아무리 해도 안되서 요만 포기할까 했는데

문득 마지막 순간에 촉이 와서 고걸 해보니까 정상적으로 실행되었다. -_-;;



문제는 바로...........

ajax 로 로딩될 페이지에 <html><head>...</head><body>...</body></html>  요 시리즈 태그가 있었기 때문이었다.

<html><head>...</head><body>...</body></html> 요것들을 다 제거하고



<script>......</script> 

<body></body> 태그를뺀 나머지 원래 소스...


요렇게 바꿔주면 아마 정상적으로 <script></script> 에 있는 스크립트들이 실행될것이다. 

음 그리고 <DOCTYPE> 어쩌고 하는것도 ajax 로 로딩될 페이지에 있으면 빼야 될것이다.~



오만 삽질을 다 한거에 비하면 허무한 결말이다. 

이빠이 사소하지만 그렇다고 해서 해결할 방법을 찾아내기가 쉽지는 않은 그런 꾸리한 문제들 중의 하나로 기억할것 같다. -_-;

앞으로 모바일웹용이던 아니던 프로젝트를 시작할때부터 공지를 잘해서

ajax 로 로딩될 페이지에는 <html><head>...</head><body>...</body></html> 요것을 빼고 코딩을 해야겠다.