오랫만에 질문이 아흐 생각대로 안됩니다.

오랫만에 질문이 아흐 생각대로 안됩니다.

QA

오랫만에 질문이 아흐 생각대로 안됩니다.

본문

특정 쇼핑몰 리스트 상품을 우측마우스로 복사해다가 댓글에 일괄 붙여넣었습니다.

 

      <div class="image" style="display: table; font-size: 0px; height: 230px; margin-bottom: 10px; overflow: hidden; position: relative; text-align: center; width: 230px;">
         <a href="https://abc.com/offer/592568085148.html"  target="_blank" data-spm-anchor-id="a2615.7691456.autotrace-offerGeneral.1" style="text-decoration-line: none; color: #666666; display: table-cell; vertical-align: middle;"><img src="https://abc.com/img/ibank/2019/523/696/10934696325_309492727.230x230.jpg" d /></a>
      </div>

 

이렇게요...

 

그리고 장반짜장님이

 

$(".image > a").each(function() {

   $(this).attr("href", "#");

});

 

이렇게 알려주셔서 href 링크를 막아서 링크가 걸리지 않게 잘되는데요,,,

문제는 view_comment_skin에 스크립트를 넣었는데...

 

완전히 로딩되기 전에 코멘트내용은 이미 내려와 있어서

로딩이 끝나기 전에 클릭하면 링크가 걸려버리네요...

 

$(".image > a").each(function() {

   $(this).attr("href", "#");

});

 

이걸 어느파일에 넣어야 가장먼저 이코드가 실행될까요?

이 질문에 댓글 쓰기 :

답변 3

해당스킨 view.skin.php 215라인 쯤

 

<?php
// 코멘트 입출력

바로 위에 자바스크립트 소스를 넣어 시도해 보세요.

 

그리고

$(this).attr("href", "#"); 이 부분을 다음처럼 하는것이 나을 겁니다.

$(this).attr("href", "void(0)");

주소로 이동을 원하지 않다면 구지 script로 처리하기 보다는
<a href="https://abc.com/offer/592568085148.html" 이것을
<a href="javascript:void(0);" 으로 처리하시면 되죠.

주소가 하나면
<a href="https://abc.com/offer/592568085148.html" 이것을
<a href="javascript:void(0);" 으로 처리하시면 되겠지만
쇼핑몰 리스트를 계속 복사 붙여넣기 하기 때문에
이러한 url이 많아지기 때문입니다.

그렇다면 브라우저로 오기 전에 php로 리스트에 들어가는 url을 모두 치환해 버리면 되겠네요.

예를 들어 href에 들어가는 값이 변수 $list_url에 할당되어 있다 가정하면
<?php
$list_url = "https://abc.com/offer/592568085148.html";
$list_url = preg_replace("#(https?://abc.com/offer/\d+\.html)#i", "javascript:void(0);", $list_url);
echo $list_url;
?>

잘 활용해 보세요.

<script>
    $(".image > a").on("click", function() {
        return false;
    });
</script>

PHP파일은 서버에서 돌아가는 언어이고

자바스크립트는 사용자단에서 돌아가는 언어입니다.

 

페이지가 열릴때

서버에서 php돌아감 -> 화면으로 출력 -> 자바스크립트 돌아감

 

이기때문에 어느곳에 넣으시던, 자바스크립트는 나중에 실행됩니다.

 

출력단에서 링크를 없애시거나,

음.. 

$(document).ready(function(){

  $(".image > a").each(function() {

     $(this).attr("href", "#");

  });

})

 

이런식으로 넣어보시는건 어떨까요..

늦은 시간에 감사합니다..php서버단 그래서 이렇게 되는군요,,ㅋ 다큐먼트 레디로 해도 안되더라구요,,db데이터가 이미 내려와서 스크립트 내려오기 전에 클릭하면 링크가 걸려버려서요

답변을 작성하시기 전에 로그인 해주세요.
전체 123,668 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT