goto_url 새창으로 보내기
본문
goto_url('처리후 이동할 주소');
여기서 url을 새창으로 보내려면 _blank를 어떤식으로 넣어야 할까요~~
goto_url('처리후 이동할 주소', '_blank');
이렇게 하면 될 줄 알았는데. 안되네요...
조언 부탁드립니다.
답변 3
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;
}
함수입니다.
자바스크립트를 이용해서 링크주소로 이동하는 방식이라서 이 함수에서는 새창으로 지정할 수 있는 방식이 없습니다.
매개변수(인자)도 하나라서 두개의 매개변수를 지정하시면 안되고요.
새 창으로 하는 방법은 따로 만들어 놓은 함수 없을 겁니다.
<a href="주소" target="_blank">aa</a>
// 메타태그를 이용한 URL 이동
// header("location:URL") 을 대체
function goto_url($url,$target="")
{
$url = str_replace("&", "&", $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