//메뉴 활성화 체크 $(function () { var current = location.pathname; var current_array = current.split('/'); var para = location.search; // p 파라미터만 추출하여 비교용 URL 생성 (URL 디코딩 적용) var pParam = ''; // 직접 파싱하여 URL 디코딩 보장 if (location.search) { var searchString = location.search.substring(1); // '?' 제거 var params = searchString.split('&'); for (var i = 0; i < params.length; i++) { var keyValue = params[i].split('='); if (keyValue[0] === 'p' && keyValue[1]) { pParam = decodeURIComponent(keyValue[1]); break; } } } var baseUrl = current + (pParam ? '?p=' + pParam : ''); // 긴급 디버깅 - 콘솔에서 확인 console.log('=== URGENT DEBUG ==='); console.log('location.search:', location.search); console.log('extracted pParam:', pParam); console.log('computed baseUrl:', baseUrl); $('.item_list a').removeClass('active'); //부모메뉴 활성화 $('.item_list a').each(function () { var $this = $(this); var link = $this.attr('href'); if (link != undefined && link != '#') { var board_url = ''; if (link.includes('/board/')) { var link_array = link.split('/'); board_url = link_array.slice(0, -1).join('/'); if (current.includes(board_url + '/')) { gnb_active($this); } } else { // 링크에서도 p 파라미터만 추출 (URL 디코딩 적용) var linkUrl = link; var linkPParam = ''; if (link.includes('?p=')) { var linkParts = link.split('?p='); linkPParam = linkParts[1].split('&')[0]; // 첫번째 파라미터만 가져오기 // URL 디코딩 적용 linkPParam = decodeURIComponent(linkPParam); linkUrl = linkParts[0] + '?p=' + linkPParam; } console.log('Comparing:', linkUrl, '==', baseUrl, '?', (linkUrl == baseUrl)); if (linkUrl == baseUrl) { console.log('✅ MATCH! Activating menu for:', link); gnb_active($this); } else { console.log('❌ No match'); } } } }); //활성화 함수 function gnb_active(obj) { obj.addClass('active'); obj.parents('li.item_depth0').children('a').addClass('active'); if (obj.parent('li').hasClass('item_depth1') === true) { if(obj.closest('.side-gnb').length > 0){ obj.parents('li.item_depth0').children('ul').show(); } } if (obj.parent('li').hasClass('item_depth2') === true) { obj.parents('li.item_depth1').children('a').addClass('active'); } } });