2011-09-04 6 views
2

내 웹 사이트의 webapp 버전을 마무리하려고합니다. 정말 가깝지만 문제가있는 것은 href를 자바 스크립트 링크로 변환하는 것입니다 (기사가 모바일 Safari가 아닌 앱에서 열리도록). 나는 나를 도와 줄 간단한 스크립트를 찾았다 고 생각했지만, 스크립트가 내 코멘트 플러그인 (Disqus)과 함께 망쳐 놨다. 아래에 스크립트를 게시 하겠지만, 모든 링크를 ( div "disqus_thread"에있는 것 제외)로 변환 할 수있는 방법이 있습니까? 가능한 대안을 연구했지만 찾을 수있는 유일한 해결책은 스크립트를 사용하고 다른 모든 div를 지정하는 것이 었습니다. 희망이 여기에 누군가가 나를 도울 수 있습니다 : P 감사합니다, 매트Javascript 링크 대체 도움말

<script> 
    var a=document.getElementsByTagName("a"); 
    for(var i=0;i<a.length;i++) 
    { 
    a[i].onclick=function() 
    { 
    window.location=this.getAttribute("href"); 
    return false 
    } 
    } 
    </script> 

답변

0

난 당신이 이렇게 왜 잘 모릅니다. 앵커의 href 속성을 window.location으로 설정했기 때문에 앵커의 기본 동작에 의해 수행됩니다.

disqus_thread 안에있는 앵커를 제외한 모든 앵커를 선택하고 논리를 실행하려는 경우이 방법을 사용해보십시오. 페이지에 jQuery 라이브러리가 포함되어 있는지 확인하십시오.

$(":not(#disqus_thread)").find("a").click(function(){ 
    window.location.href = this.href; 
    return false; 
}); 
+0

답장을 보내 주셔서 감사합니다. 헤더에 jQuery가 포함되어 있지만 동일한 문제가 계속 발생합니다 (Disqus에 주석을 쓰려면 탭하고 "thepageurl/null"로 리디렉션됩니다). 원래 스크립트 – Matt

+0

Disqus 란 무엇입니까? disqus_thread '? – ShankarSangoli

+0

Disqus는 주석을 원격으로 제공하는 주석 시스템입니다. 플러그인은 테마/Wordpress의 기본 시스템 대신 Disqus 주석을 호출하고 자체 div 인 "disqus_thread"에 자신을 나타냅니다. – Matt