문제

내 컴퓨터에서는 호스트 리디렉션을 기반으로 사용자 정의 애드 블록을 사용하고 있습니다 (크롬에 Adblock을 가질 수 있음). 내 컴퓨터에서 IIS를 실행하고 있으므로 iframe-기반 광고가 페이지에 표시됩니다.

404 오류를 수정하여 학부모로부터 배경색을 상속하여 광고가 백인이 아닌 배경을 가진 사이트에서 불쾌하지 않도록 수정했습니다. 다음 과제는 404 페이지를 사용하여 완전히 붕괴하는 것입니다. iframe 페이지에 전혀 표시되지 않도록합니다.

포함을 변경할 수 있습니까? <iframe /> Iframe 내에서 태그가 있습니까? 가능하면 높이 및 너비 속성을 변경하고 싶습니다. 그렇다면 어떻게해야합니까?

도움이 되었습니까?

해결책

iframes 내의 사이트가 외부 사이트가 될 수 있으므로 불가능해서는 안됩니다. 그들이 표시 한 환경을 조작 할 수있게하는 것은 브라우저 보안 위험입니다.

애드 블로킹 프록시를 사용하는 것이 좋습니다.

다른 팁

내가 당신을 올바르게 이해한다면, 당신은 404 페이지가 Iframe이 내부로드 될 때 붕괴를 유발하기를 원한다고 말하고 있습니다. 이 작업을 수행하는 가장 쉬운 방법은 부모 페이지에서 함수를 작성한 다음로드 할 때 404에서 호출하는 것입니다.

예를 들어, iframe에 ID "AdvertFrame"이있는 경우 다음 JavaScript 함수를 부모 페이지에 추가 할 수 있습니다.

function hideAdvertFrame() {
  var advertFrame = document.getElementById("advertFrame");
  advertFrame.style.height = 0;
  advertFrame.style.width = 0;
}

그런 다음 404 페이지에서 기능이로드되면 즉시 기능을 호출 할 수 있습니다.

<body onload="window.parent.hideAdvertFrame();">

즉, 보안 구멍에 덜 쉬운 크로스 프레임 스크립팅 외에 다른 옵션을 고려하고 싶을 수도 있습니다. 아마도 상위 페이지에서 AJAX를 사용하여 AdBlock에로드되기 전에 유효한 URL이 있는지 확인한 다음 한 번 확실하게 페이지에 동적으로 추가 할 수 있습니다.

iframe을 채우는 페이지는 iframe이 포함 된 페이지에 대해 아무것도 변경할 수 없습니다. 만약 그렇다면, 그것은 큰 보안 위험이 될 것입니다. 확실히, 나는 학교에서받은 두 도메인을 사용하여 요구하는 것을 시도했습니다. 간단히 말해서, 작동하지 않았습니다. Firebug에서 허가 거부 오류가 발생했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top