$(document).on('click','.fixed',function(e){
e.preventDefault();
$('.viewer').addClass('on');
$('.viewer').load($(this).attr('href'));
$('html').css('overflow','hidden');
$('#viewClose').show();
});
이런식으로 버튼을 누르면 해당 url을 불러와서 페이지로드를 시켰는데 로드된 페이지에서 content 내용(document내용)만 불러오게 끔하려면 어떻게 해야하나요..?
CMS | XpressEngine |
---|
-
$(this).attr('href')에서 정규식으로 꺼내쓰셔도 될 거고, 아니면 편하게 스킨 내에 fixed 클래스가 있는 태그에 data-doc_srl 같은 걸 추가해서 클릭 이벤트시 갖다 쓰셔도 될 것 같아요.
-
var url = $(this).attr('href');
e.preventDefault();
$('.viewer').addClass('on');
$.ajax({
url: url,
async : "false",
success: function (data) {
var data = data.replace('<body', '<body><div id="body"').replace('</body>','</div></body>');
var body = $(data).filter('#body');
$('.viewer').append(body);
},
dataType: 'html'
});
바디태그를 추가하고서 사용하래요 아..... 이젠 속도가 ㅋㅋㅋㅋㅋ -
content 부분이면 클래스 이름이 xe_content일 텐데 댓글도 같은 클래스 이름을 가지니까, .xe_content:eq(0) 같은 식으로 즉...
success: function (data) {
var content = $(data).find('.xe_content:eq(0)').html();
$('.viewer').html(content);
},
으로 하면 어떨까요? 이것도 느리려나;;;
페이지 전체를 불러와서 특정 부분만 로드하는 것보다는(이 경우엔 '.xe_content'겠죠),
일반적으론 exec_json 등을 통해 코어에서 제공하는 함수를 불러올 겁니다.
게시판 모듈이라면 dispBoardContentView인가 하는 api가 있을 텐데요.
아래 링크를 참조해보시는 것도 좋을 것 같아요.
http://chongmoa.com/xe/332