2013-02-14 3 views
3

iframe을 통해로드하는 사이트가 있으며 동일한 서버에 있습니다. iframe 내부 페이지가로드되기 전에 특정 스크립트 태그를 제거해야합니다. 순서대로 스크립트가 실행되기 전에 차단하고 제거하십시오. 실행하기 전에 사이트에서 스크립트를 제거하십시오.

나는
var x = doc.getElementsByTagName('script'); 
doc.getElementsByTagName('head').removeChild(x); 

을 시도하지만 그것을 실행하기 전에 스크립트를 잡을 수있을 것 같지 않습니다. 이 목적을 달성하기위한 다른 방법이나 선택 사항은 무엇입니까?

덕분에

+0

함수에서 스크립트를 래핑하고 함수를 실행하면 – Shanimal

+0

@Shanimal 어떤 스크립트를 의미합니까, 내 스크립트가 대상 스크립트 또는 대상 스크립트 자체를 catch합니까? – user2028856

+0

@ Chris.Ackley 기본적으로 사이트에서이 스크립트를 완전히 제거하기 전에이 스크립트를 제거해야합니다. if (self! == top) { \t \t \t top.location = parseURL (self.location); ' – user2028856

답변

0
<script type="text/plain"> 
    alert('foo') 
</script> 
+0

텍스트/일반 스크립트가 실행되지 않습니다. – Shanimal

+0

죄송합니다. 어떻게 작동하는지 잘 모르겠습니다. 실행하기 전에 iframe 사이트에서 스크립트를 찾아서 제거해야합니다. 스크립트 위의 이것이 어떻게 이것을 포착하고 예방합니까? – user2028856

+0

다른 도메인에서 javascript를 실행할 수 없게되는 경우가 있습니다. – Shanimal

1

난 당신이 설명한 설정에 로딩을 중지 할 수 있다고 생각하지 않습니다.

그러나 iframe을 URL (예 : perl, php)을 검색하여 스크립트를 제거한 다음 다른 모든 것을 반환하는 자체 서버 측 스크립트로 지정할 수 있습니다.

+0

웹 사이트에 따라 휴식을 취할 수도 있지만 자산에 대한 경로도 다시 작성해야합니다. 어쨌든 다른 URL을 기대하기 때문입니다. 일종의 거시기 이동이라는 사실은 말할 것도없고, 아마도 사람이 프레임 버스터 스크립트를 사용해야 할 이유가있을 것입니다. – Marco

+0

좋은 점 @ 마루코, 경로 물건 주위에 멀리 있을지도 모른다. 나는 여기에서 설명하지 않을 것이다. 이것이 권장되어야하는지 그렇지 않은지 모두가 "동일한 서버"가 의미하는 바에 달려 있다고 생각합니다. 다른 사람의 사이트를 호스팅하는 공개 서버 인 경우 자산/리소스를 보호하려고하는 이유가있을 수 있습니다. – vol7ron