조회 수 87 댓글 1

안녕하세요. 제가 모바일 페이지 글쓰기 에게 [뒤로가기를 실수로 눌렀을 때 경고를 나타내는 시스템]이 필요하여

예전에 Ikoo 님이 알려주신 방법으로 [ 모바일 페이지에서 글쓰기를 벗어날 시 경고문 출력 ] 까지는 성공 하였는데,

문제는 이 [ 경고문 ] 이 정상적인 " 등록 " 버튼을 누른 때에도 출력된다는 것 입니다. 게시판 스킨은 sketchbook5 을 사용하고 있습니다. 

 

* 사용한 경고문 출력 방법

/xe/modules/board/skins/sketchbook5/js/editor_m.js 에서

 

// 글쓰기에서 벗어날 시 경고창 출력
jQuery(window).on('beforeunload', function() {
    return '저장되지않은 작성 중인 내용이 있습니다. 글쓰기 페이지에서 나가시겠습니까?';
});
//

 

맨 윗 부분에 위 소스를 붙여 넣기 [ // ajaxFileUpload 위에 ] 했습니다.

관련 주소 : https://www.xpressengine.com/tip/23085379

 

위의 경고문을 "등록" 버튼을 눌렀을 떄 표시하지 않으려면 어떻게 해야할까요..?

고수분들의 도움을 요청합니다. 도와주신다면 감사하겠습니다. 좋은 하루되세요.

 

아래는 스케치북 스킨의 editor_m.js 입니다.

 

 

// ajaxFileUpload
function ajaxFileUpload(){
jQuery("#loading").ajaxStart(function(){
jQuery(this).show();
})
.ajaxComplete(function(){
jQuery(this).hide();
IsUploadFiles();
});

jQuery.ajaxFileUpload({
url:'index.php?&act=procFileIframeUpload',
secureuri:false,
fileElementId:'Filedata',
dataType:'html',
data:{
mid:current_mid,
editor_sequence: '1',
uploadTargetSrl: jQuery('#ff input[name=document_srl]').val(),
manual_insert: 'true'
},
success:function(frameId, data, status){
var frm = document.getElementById('ff');
var io = document.getElementById(frameId);
if(io.contentWindow){
var sourceFile = document.getElementById(frameId).contentWindow.uploaded_fileinfo.source_filename;
var uploadFile = document.getElementById(frameId).contentWindow.uploaded_fileinfo.uploaded_filename;
var document_srl = document.getElementById(frameId).contentWindow.uploaded_fileinfo.upload_target_srl;
var file_srl = document.getElementById(frameId).contentWindow.uploaded_fileinfo.file_srl;
var sid = document.getElementById(frameId).contentWindow.uploaded_fileinfo.sid;
} else if(io.contentDocument){
var sourceFile = document.getElementById(frameId).contentDocument.uploaded_fileinfo.source_filename;
var uploadFile = document.getElementById(frameId).contentDocument.uploaded_fileinfo.uploaded_filename;
var document_srl = document.getElementById(frameId).contentDocument.uploaded_fileinfo.upload_target_srl;
var file_srl = document.getElementById(frameId).contentDocument.uploaded_fileinfo.file_srl;
var sid = document.getElementById(frameId).contentDocument.uploaded_fileinfo.sid;
}
frm.document_srl.value = document_srl;

// Source from xeed
ext = (match = uploadFile.match(/\.([a-z0-9]+)$/i))?match[1]||'':'';
ext = ext.toLowerCase();
if(allowedFileTypes!='*.*' && jQuery.inArray('*.'+ext, allowedFileTypes.split(';')) < 0){
alert('File is not an allowed file type.');
return false;
};
if(jQuery.inArray(ext, 'gif jpg jpeg png'.split(' ')) > -1) type = 'img';
else if(jQuery.inArray(ext, 'mp3 wma wav ogg aac flac'.split(' ')) > -1) type = 'music';
else if(jQuery.inArray(ext, 'avi mov mp4 mkv ogv webm'.split(' ')) > -1) type = 'media';
else type = 'etc';

if(uploadFile!=""){
if(type=='img'){
var insertTag = '<li id="file_'+file_srl+'" class="success"><button type="button" style="background-image:url('+uploadFile+')" data-file="'+uploadFile+'" data-type="'+type+'" onclick="jQuery(this).parent().toggleClass(\'select\')" title="'+sourceFile+'"><b class="fa fa-check">✔</b></button><a class="delete_file" href="#" onclick="delete_file('+file_srl+');return false;"><b class="fa fa-times"></b></a><a class="insert_file" href="#" onclick="insert_file('+file_srl+');return false"><i class="fa fa-arrow-up"></i></a></li>';
} else {
var insertTag = '<li id="file_'+file_srl+'" class="success type2 '+type+'"><small>'+sourceFile+'</small><button type="button" data-file="'+uploadFile+'" data-type="'+type+'" data-dnld="?module=file&act=procFileDownload&file_srl='+file_srl+'&sid='+sid+'" onclick="jQuery(this).parent().toggleClass(\'select\')"><b class="fa fa-check">✔</b></button><a class="delete_file" href="#" onclick="delete_file('+file_srl+');return false"><b class="fa fa-times"></b></a><a class="insert_file" href="#" onclick="insert_file('+file_srl+');return false"><i class="fa fa-arrow-up"></i></a></li>';
};
jQuery('#loading').before(insertTag);
} else {
jQuery('#loading').before('<li class="error">Error</li>');
}
if(typeof(data.error)!='undefined'){
if(data.error!=''){
alert(data.error);
} else {
alert(data.msg);
};
};
},
error: function (data, status, e){
alert(e);
}
});
}

function delete_file(file_srl,if_msg){
if(!if_msg) var msg = window.confirm(lang_confirm_delete);
if(msg || if_msg){
var settings = file_srl;
var params = new Array();
params["editor_sequence"] = 1;
params["file_srls"]  = file_srl;
var response_tags = new Array("error","message");
exec_xml("file","procFileDelete", params, function(){
jQuery("#file_"+settings).remove();
IsUploadFiles();
});
} else {
return false;
};
}

function IsUploadFiles(){
if(jQuery('#files .success').length){
jQuery('#mUpload .info').addClass('is_img');
} else {
jQuery('#mUpload .info').removeClass('is_img');
jQuery('#mEditorSelect').removeClass('on');
}
}

jQuery(function($){
$('#FiledataWrp').on('change','#Filedata',function(){
ajaxFileUpload();
});
});

 

Atachment
첨부 1
  • profile
    가시밭 2017.01.13 11:09:03
    해결했습니다. https://lab.hv-l.net/172498

서버에 요청 중입니다. 잠시만 기다려 주십시오...