테스트 사이트 - 개발 중인 베타 버전입니다

goto_url 새창으로 보내기 채택완료

콩태마루 9년 전 조회 8,232

goto_url('처리후 이동할 주소');

 

여기서 url을 새창으로 보내려면 _blank를 어떤식으로 넣어야 할까요~~

goto_url('처리후 이동할 주소', '_blank');

 

이렇게 하면 될 줄 알았는데. 안되네요...

조언 부탁드립니다.

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
p
9년 전

goto_url() 함수는 lib/common.lib.php파일의 94번째줄에 있는

function goto_url($url)
{
    $url = str_replace("&", "&", $url);
    //echo "<script> location.replace('$url'); </script>";

    if (!headers_sent())
        header('Location: '.$url);
    else {
        echo '<script>';
        echo 'location.replace("'.$url.'");';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
        echo '</noscript>';
    }
    exit;
}

함수입니다.

자바스크립트를 이용해서 링크주소로 이동하는 방식이라서 이 함수에서는 새창으로 지정할 수 있는 방식이 없습니다.

매개변수(인자)도 하나라서 두개의 매개변수를 지정하시면 안되고요. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

콩태마루
9년 전
아 그렇군요... 다른 방식으로 링크를 걸어야 하겠네요... 감사합니다!!

댓글을 작성하려면 로그인이 필요합니다.

// 메타태그를 이용한 URL 이동
// header("location:URL") 을 대체
function goto_url($url,$target="")
{
    $url = str_replace("&amp;", "&", $url);
    //echo "<script> location.replace('$url'); </script>";

    if (!headers_sent())
        header('Location: '.$url);
    else {
        echo '<script>';

  if($target){
   echo $target.'.location.replace("'.$url.'");';
  }else{
   echo 'location.replace("'.$url.'");';
  }
        echo '</script>';
        echo '<noscript>';

  if($target){
    echo '<meta http-equiv="refresh" content="0;url='.$url.'" targrt='".$target."' />';
  }else{
    echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
  }

        echo '</noscript>';
    }
    exit;
}

 

소스 수정 : Mlang

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

새 창으로 하는 방법은 따로 만들어 놓은 함수 없을 겁니다.

<a href="주소" target="_blank">aa</a> 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

콩태마루
9년 전
답변 감사합니다^^ 방식을 바꿔야 할 것 같아요~~

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인