여기에 내 문제가 있습니다. runat = "server"를 사용하지 않는 메뉴 항목 목록이 있으므로 기본 페이지에 localhost / Default.aspx와 같은 URL이 있습니다. Visual Studio에서 실행하면 내 자바 스크립트가 내 현재 페이지를 찾습니다. "Default.aspx"이고 현재 메뉴 항목을 강조 표시하면이 시점에서 모든 것이 완벽하게 작동합니다.
이제 ftp를 사용하여 내 웹 사이트를 게시하면 해당 사이트에 처음 방문하면 끝에 Default.aspx없이 사이트에 url localhost가 있습니다. 이제 내 javascript가 내 페이지에서 "Default.aspx"를 찾지 못합니다. 대신 ""를 반환하므로 내 메뉴 항목이 강조 표시되지 않습니다. 메뉴에서 홈페이지를 클릭하면 URL이 localhost / Default.aspx가되고 메뉴가 강조 표시됩니다.
그래서 내 자바 스크립트를 변경하는 방법이 있나요? 내가 해당 사이트를 처음 클릭 할 때 내 URL 끝에 "Default.aspx"가 포함되어 있지 않더라도 여전히 내 메뉴가 강조 표시됩니다.
내 자바 스크립트입니다 "
$(function () {
var url = window.location.href.substr(window.location.href.lastIndexOf("/") + 1);
$('[href$="' + url + '"]').parent("li").addClass("current_page_item");
});
보시다시피, 내가 사용한다면
<a runat="server" href="~/">Home</a>
내 홈페이지의 경우
lastIndexOf("/")
내 자바 스크립트에서 항상 나를 공백으로 반환하므로 아무것도 강조 표시되지 않으므로 문제가 어디에 있는지 알지만 해결 방법을 찾을 수 없습니다.
감사
html :
1. 메인 메뉴
<div id="menu" class="container">
<ul>
<li class="current_page_item"><a runat="server" href="~/" accesskey="1" title="">Home</a></li>
<li><a href="Softcare/SoftcareHome.aspx" accesskey="2" title="">Softcare</a></li>
<li><a href="Softlearn/SoftlearnHome.aspx" accesskey="2" title="">Softlearn</a></li>
<li><a href="Software/SoftwareHome.aspx" accesskey="2" title="">Software</a></li>
</ul>
</div>
2. 사이드 메뉴
<div id="sidemenu">
<div class="section-title">
<asp:ContentPlaceHolder ID="submenutitle" runat="server">
</asp:ContentPlaceHolder>
</div>
<ul>
<li><a runat="server" href="~/" accesskey="1" title="">Home</a></li>
</ul>
</div>
$('[href$="' + ((url == "")?"~/":url) + '"]').parent("li").addClass("current_page_item");
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다