2012-05-20 2 views
0

내 iframe이 안쪽이 스크립트를 잡을 수있어.
try 블록이 실패한 경우 브라우저가 catch 블록을 수행하기를 원합니다.
그러나 try 블록 내부에서 오류가 발생하더라도 브라우저는 여전히 오류를 볼 수 있습니다.안전하지 않은 자바 스크립트 시도가 시도하는 방법이

업데이트 정상적인 상황에서는 내 코드가 정상적으로 작동합니다.
iframe 내부의 iframe이 작동하지 않습니다. 이러한 경우 보안 오류가 발생합니다.
Y 님의 의견이 있습니까? 내 iframe이 다른 iframe 안에 있는지 어떻게 알 수 있습니까?

감사

+0

을 확인하지 말아야 뭔가를 시도, 당신은 어떤 브라우저를 사용합니까? –

+0

주제가 무엇입니까? Chrome을 사용하는 중에도 오류가 표시되지 않습니다. – jmort253

+0

아마도 그가 부모 프레임에 그것을하고 있기 때문에 나는 자기와 함께 tryed –

답변

1

당신은 자바 스크립트 내에서 오류의 종류를 잡을 수 없습니다 때문에하지 자바 스크립트 오류, 자사의 브라우저 보안 기능입니다. 그러나 URL과 현재 위치 사이의 도메인 및 포트 일치를 확인하여이를 방지 할 수 있습니다. iframe의 도메인/포트가 같지 않으면 상위 프레임에 액세스 할 수 없습니다. 따라서 상위 프레임 도메인/포트가 하위 iframe과 같지 않은 경우 다른 소스에서 이미 알 수없는 경우 위치를 가져올 수 없습니다. 당신은 당신이 정말로

(갱신) 내가 오류 (사용 크롬)을 얻을 그나마 부모 노드

var ploc=null 
try { 
    if (parent && parent.nodeName=="IFRAME") 
    ploc=parent.location;//assuming current node is an iframe 
}catch(e){ 
    //it may be an iframe but from another domain 
} 

if (ploc) ... //ok its an iframe and is from same domain the we can proceed 
+0

고마워, 내 질문을 업데이 트했습니다. 확인해주십시오. – SexyMF

+0

글쎄,이 질문은 "내 iframe이 anothe iframe 내부에 있는지 어떻게 알 수 있습니까?"라고 말하면 대개 부모에게 액세스를 시도합니다 (이동 할 필요가 없음). –

+0

감사합니다. 예제를 게시 할 수 있습니까? 나는 이해하지 못한다. – SexyMF

관련 문제