2011-09-26 2 views
10

같은 자바 스크립트를 사용하여 페이지를 리디렉션 :내가과 같이 몇 가지 코드를 PHP의 Header-> 위치

$('.entry a:first').click(function() 
{ 
    <?php header("Location:" . "http://www.google.com"); ?> 
}); 

나는이 사용하는 자바 스크립트를 달성 할 수있는 방법을 알고 싶습니다.

+2

앵커 태그를 다루고 있기 때문에 왜 자바 스크립트 대신 'Link text'을 사용하지 않을까요? – bfavaretto

+0

좋은 질문입니다. 이상한 하나의 작은 조각. URL에는 몇 개의 변수가 들어 있으며 사용자가 링크를 클릭하면 다음 페이지까지 볼 수 있습니다. –

+0

@KeithDonegan 당신은 대답을 검토하고 받아 들일 수 있습니까, 아니면 좀 더 자세하게 질문을 업데이트 할 수 있습니다 – rlemon

답변

11

PHP 코드는 서버에서 실행되므로 브라우저에서 JavaScript가 보이기 전에 리디렉션이 실행됩니다.

당신은 완전히 잘못된 너무 자바 스크립트에

$('.entry a:first').click(function() 
{ 
    window.location.replace("http://www.google.com"); 
}); 
+0

왜'.replace'인가? –

+0

그것이 내가 얼마 전에 그것을 기억했던 방식입니다. 단순히 새로운 값을 지정하면 브라우저의 뒤로 버튼에 문제가 있다고 생각합니다. 그러나 나는이 작품도 생각한다. – klaustopher

+0

거의 완벽하다. 어쨌든 이걸 새 창에서 열어? –

28

당신은 페이지 당신은 당신의 현재를 변경할에서는 window.location을 사용할 수 있습니다

(를 실행되는 JS 전에 즉 ) 브라우저로 전송되기 전에 방법은, PHP가 렌더링되는 JS와 PHP를 혼합 할 수 없습니다 페이지.

$('.entry a:first').click(function() { 
    window.location = "http://google.ca"; 
}); 
1

당신의 JS의 애플리케이션과 PHP를 리디렉션 할 필요가있다.

페이지가 PHP 페이지 또는 JSP 또는 ASP인지 여부에 관계없이 JS가 클라이언트 측에서 실행된다는 사실을 이해해야합니다. DOM을 실행하고 관련이 있습니다.

당신은 당신이 볼이

var newLocation = "<?php echo $newlocation; ?>"; 
window.location = newLocation; 

같은 것이, 스크립트가로드되는 시간으로, 위의 코드가 서로 다른 형태로 위와 같이이

var newLocation = "your/redirecting/page.php"; 
window.location = newLocation; 

같은 것을 렌더링 할 수 그러나, php와 js의 많은 가능성이 있습니다. 여러분이하고있는 것은 하나도 아닙니다.

관련 문제