Pergunta

No meu computador, eu estou usando um adblock personalizado baseado no HOSTS redirecionamento (que eu possa ter adblock no Chrome). Estou executando o IIS na minha máquina, então eu tenho uma placa feita sob encomenda 404 de erro que é exibida quando um anúncio baseado em iframe é exibido em uma página.

Eu modifiquei meu erro 404 para herdar a cor de fundo de seu pai, para que o anúncio não parece detestável em sites com um fundo não-branca. Meu próximo desafio é usar minha página 404 a entrar em colapso completo do iframe para que ele não exibir na página em tudo.

É possível alterar a tag <iframe /> contendo de dentro do iframe? Eu só quero mudar a altura e atributos de largura, se isso é possível. Se assim for, como eu iria fazer isso?

Foi útil?

Solução

não deve ser possível, como sites dentro de iframe pode ser site externo. Permitindo-lhes manipular o ambiente em que está exibido na seria um risco de segurança do navegador.

Você seria melhor fora de usar um proxy AdBlocking.

Outras dicas

Se eu entendi corretamente, você está dizendo que quer sua página 404 para provocar um colapso do iframe quando ele carrega dentro dele. A maneira mais fácil de fazer isso é criar uma função na página mãe, e então chamá-lo a partir do 404 quando ele carrega.

Por exemplo, se o seu iframe tem o id "advertFrame" você pode adicionar a seguinte função javascript para a página pai:

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

Em seguida, na página 404, você pode chamar a função imediatamente quando ele carrega:

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

Dito isso, eu acho que você ainda pode querer considerar outras opções além scripting quadro cruz que são menos propensos a falhas de segurança. Talvez sua página pai pode usar AJAX para verificar se o adblock terá uma URL válida antes de cargas, e em seguida, dinamicamente adicioná-lo para a página de uma vez certa.

A página que preenche o iframe pode qualquer coisa não alter sobre a página que contém o iframe. Se ele pudesse, então, seria um enorme risco de segurança. Para ter certeza, eu tentei apenas o que você está pedindo usando os dois domínios que estou dadas na escola. Simplificando, não funcionou; Eu tenho um erro de permissão negada no Firebug.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top