메인비주얼 url 제거 및 빈 파라메터 제거
This commit is contained in:
parent
a37d0c24e5
commit
2843faa5ad
@ -37,14 +37,79 @@
|
||||
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
|
||||
makeDate('ntceBgndeYYYMMDD');
|
||||
makeDate('ntceEnddeYYYMMDD');
|
||||
|
||||
|
||||
document.getElementById("mlink").addEventListener("paste", function(event) {
|
||||
// 클립보드 데이터를 가져옴
|
||||
let pastedText = event.clipboardData.getData("text");
|
||||
|
||||
// 콘솔 출력 (붙여넣은 URL 확인)
|
||||
|
||||
|
||||
console.log("붙여넣기 한 URL:", pastedText);
|
||||
|
||||
// 불필요한 파라미터 제거 후 새로운 URL 생성
|
||||
let cleanedUrl = cleanUrlParameters(pastedText);
|
||||
|
||||
// input 필드에 깨끗한 URL 입력
|
||||
setTimeout(() => {
|
||||
this.value = cleanedUrl;
|
||||
console.log("정리된 URL:", cleanedUrl);
|
||||
}, 0);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* URL에서 빈 값의 파라미터를 제거하는 함수
|
||||
* @param {string} url 원본 URL 문자열
|
||||
* @returns {string} 불필요한 파라미터가 제거된 URL
|
||||
*/
|
||||
function cleanUrlParameters(url) {
|
||||
try {
|
||||
// URL이 절대경로 (/web/... 형태)인지 확인
|
||||
let hasFullDomain = url.startsWith("http://") || url.startsWith("https://");
|
||||
let urlObj;
|
||||
|
||||
if (hasFullDomain) {
|
||||
// 도메인이 포함된 URL 처리
|
||||
urlObj = new URL(url);
|
||||
} else {
|
||||
// 절대경로 URL 처리 (가상의 도메인 추가 후 파싱)
|
||||
urlObj = new URL("https://www.munjaon.co.kr" + url);
|
||||
}
|
||||
|
||||
let params = new URLSearchParams(urlObj.search);
|
||||
|
||||
// ❗ 값이 비어있는 모든 파라미터 제거
|
||||
for (let [key, value] of [...params.entries()]) { // `params.entries()`를 배열로 변환하여 반복
|
||||
if (!value.trim()) { // 값이 비어있는 경우 제거
|
||||
params.delete(key);
|
||||
}
|
||||
}
|
||||
|
||||
// 정리된 URL 반환
|
||||
let cleanedPath = urlObj.pathname + (params.toString() ? "?" + params.toString() : "");
|
||||
// 정리된 URL 반환 (도메인을 제거하고 절대경로만 반환)
|
||||
return cleanedPath.replace(/^https:\/\/www\.munjaon\.co\.kr/, "");
|
||||
|
||||
} catch (e) {
|
||||
console.warn("잘못된 URL 형식:", url);
|
||||
return url; // URL 파싱 실패 시 원본 유지
|
||||
}
|
||||
}
|
||||
|
||||
//게시기간이 없으면 초기 값 입력
|
||||
function makeDate(id){
|
||||
if($("#"+id).val()== '--'){
|
||||
|
||||
let today = new Date();
|
||||
let formattedDate = today.toISOString().split('T')[0]; // YYYY-MM-DD 형식
|
||||
$("#"+id).val(formattedDate);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user