CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.0 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
현재 홈페이지 메인에 노출되는 3개가 충돌로 제대로 나오지 않는 것 같습니다.
1. 카메론 이미지 슬라이더
2. 레이어 팝업 애드온 (LI-NA 1.8)
3. 팝업 오프너 (XE스쿨 1.5.4.3_Borderless)
1, 2번 운영시에는 문제없었는데, 팝업을 2개 띄워야 해서 오늘 3번을 추가했는데요,
3번을 활성화시키면 1번이 안나오는 등 충돌로 인해 작동을 하지 않습니다.
아래는 3개 모두 활성화 시켰을 때 에러메시지구요.
그래서 현재는 3번을 비활성화 시켜놨습니다.
지금껏 나온 질답게시판을 모조리 훑어보고
적용해봤지만 해결이 되지 않네요.
조언 한 말씀 부탁드립니다.
댓글 7
Context::addJsFile('./addons/popup_opener/jquery.popup_opener.1.5.4.3.js');
그게 충돌날꺼에요.
이거 지우세요.
예전에는 jquery를 xe가 자체적으로 불러오지 않았었는데 언젠가부터 기본 옵션이 되서 문제가 되는 거죠.
그런 부분은 없는 것 같아서요.
if(jQuery) jQuery.noConflict();
jQuery(function($) {
$.fn.xe_popup = function(options) {
var options = $.extend({}, $.fn.xe_popup.defaults, options);
return this.each(function() {
var popup = $(this);
var popupID = options.id;
var popupCookieValue = getCookie(popupID);
if (!popupCookieValue || popupCookieValue != "no") {
var popupbody = $("<div></div>").addClass('popupbody');
var popupcloser = $("<div></div>").addClass('popupcloser');
var popupcheckbox = $("<input type='checkbox' />");
var popup_message = msg_popup_do_not_display.replace('%d', options.exp_days).replace('%s', options.exp_days>1?'s':'');
var popupcloserhtml = $("<span>"+popup_message+"</span>");
var popupclosebutton = $('<button type="button"></button>');
var elementID = options.element_id ? '#'+options.element_id : '';
if ($(elementID).length>0) var targetBody = elementID;
else var targetBody = document.body;
popup.appendTo(targetBody).addClass('xe_popup_'+options.popup_style).css({'top' : options.top+"px", 'left' : options.left+"px"});
popupbody.css({'height' : options.height+"px"});
if(options.popup_type == 'content') {
popupbody.html(options.content);
popup.show("fast");
} else if (options.popup_type == 'url') {
popupbody.load(options.url, function(){popup.show("fast")});
}
if (options.link) {
popupbody.css('cursor','pointer');
if (options.link_type == 'true')
popupbody.click(function(){window.open(options.link); popup.hide("fast");});
else
popupbody.click(function(){document.location.href=options.link;});
}
popupcheckbox.attr('id', popupID);
popupclosebutton.click(function(){
if (popupcheckbox.is(':checked')) {
setCookie(popupID, "no", options.exp_days);
popup.hide("fast", function(){$(this).remove();});
} else {
popup.hide("fast", function(){$(this).remove();});
}
});
if(options.popup_style == 'border' || options.popup_checkbox != 'N') {
popupcloser.append(popupcheckbox);
popupcloser.append(popupcloserhtml);
}
popupcloser.append(popupclosebutton);
popup.append(popupbody);
popup.append(popupcloser);
//popup.draggable();
}
function setCookie( id, value, exp_days ) {
var todayDate = new Date();
todayDate.setDate( parseInt(todayDate.getDate()) + parseInt(exp_days) );
document.cookie = id + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}
function getCookie(name) {
var value=null, search=name+"=";
if (document.cookie.length > 0) {
var offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
var end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
value = unescape(document.cookie.substring(offset, end));
}
}
return value;
}
});
};
$.fn.xe_popup.defaults = {
id: 'xe_popup',
popup_type: 'content',
content: 'No content!',
open_type: 'inner',
exp_days: '1',
width: 300,
height: 200,
top: 0,
left: 0,
url: '/xe/',
link: '',
link_type: '',
popup_title: 'xe_popup',
popup_style: 'border',
popup_checkbox: 'Y'
};
})(jQuery);
요 파일 안에 위에 적은 부분을 주석처리하라는 거에요~
말씀대로 주석처리하고 적용했는데 이미지 슬라이더는 잘 나오더라구요.
하지만 팝업오프너 배너는 나오지 않더라구요.
에러메시지 캡춰해봤습니다.
저도 오래 고생하다가 해결했습니다.
https://xetown.com/request/971790
$(function () {
요 부분을
jQuery(function ($) {
이미 수정되어 있는 코드더라구요...
해결이 되지 않았습니다....
얼떨결에 해결은 했는데, 아직 다른곳과 문제가 되는지 확인되지않았습니다.
addons/popup_opener/jquery.popup_opener.1.5.4.3.js 파일에서
최상단에 "if(jQuery) jQuery.noConflict();" 부분을 삭제하니 정상적으로 작동하고있습니다.