2011-02-10 8 views
0
<script> 
function test() { 
    alert("this should only be called after the browser is fully redirected?"); 
} 
window.location = "http://google.com"; 
test(); 
</script> 

저는 사용자를 페이지로 리디렉션하는 중이고 브라우저가 완전히 리디렉션 된 후에 만 ​​기능을 호출하고 싶지만 제대로 작동하지 않습니다. 내가 그렇게 할 수있는 방법이 있습니까?브라우저가 완전히 리디렉션 된 후에 만 ​​함수를 호출 하시겠습니까?

+0

에 대한 그 사람의 답변을 참조하십시오. 이것은 XSS/주입의 한 형태이며 따라서 보안상의 위험이 있습니다. 나는 W3C가 이런 종류의 것을 허용했다고 생각하지 않는다. 왜냐하면 그것은 매우 위험하기 때문이다. – tekknolagi

답변

5

그렇게 할 방법이 있습니까?

아니요. 페이지가 google.com으로 열리면 더 이상 브라우저 창을 제어 할 수 없습니다.

+0

멋진 답변 ...하지만 배경이 ... – tekknolagi

+1

@tekkno 솔직히 말해서 여기에 추가 할 많은 배경을 보지 못했습니다 - 이것은 메모리 문제보다는 단일 원산지 정책 문제가 아닙니다 : 하나의 문서 이전 버전은 완전히 "잊어 버렸습니다". –

+0

고맙지 만 http://mydomain.site/user.php?for=example에 있고 http://mydomain.site/로 리디렉션하면 어떻게 할 수 있습니까? – Teiv

2

URL이 변경되면 현재 페이지의 모든 실행이 중지됩니다.

1

아니요. 리디렉션 할 페이지를 프레임에 넣고 다른 프레임에 스크립트를 유지 한 다음 업데이트 할 콘텐트 프레임을 감시해야합니다. 그러나 Same Origin Policy (다른 문서 [실행중인 스크립트가 포함 된 문서]에서 한 문서의 내용 [새 페이지]에 대한 액세스를 제어 함)로 인해 도메인 간 문제가 발생할 수도 있습니다. 그래서 기본적으로, 당신은 이것을 할 수 없습니다.

이후에 더 많은 코드를 실행하여 달성하려는 것을 말하는 별도의 질문을 게시하는 경우 사람들이 대체 접근법을 통해 도움을 줄 수 있습니다.

+0

배경에 대한 올바른 업무 – tekknolagi

0

나는 이것이 효과가 있다고 생각하지 않습니다. 이것은 XSS/주입의 한 형태이며 따라서 보안상의 위험이 있습니다. 나는 W3C가 이런 종류의 것을 허용했다고 생각하지 않는다. 왜냐하면 그것은 매우 위험하기 때문이다. 사용자가 다른 페이지를로드하자 마자 브라우저는 이전 페이지를 무시합니다.

http://www.coderanch.com/t/439675/HTML-JavaScript/Javascript-call-AFTER-redirect

내가이 일 것이라고 생각하지 않는다 시각적

관련 문제