JQuery encontrar um elemento dentro de Iframe (por seu texto) e adicionando função .click a ele

StackOverflow https://stackoverflow.com/questions/1508442

Pergunta

Eu tenho uma página web (A) e estou a incorporação de (A) para o meu mainpage (B) usando iframe. Este (A) contém um link que fecha a janela do navegador:

<a href="" onclick="window.opener = window;
    window.close();
    return false;">Close The Page</a>

Desde que eu embedd (A), a capacidade perto em (A) não é mais funcional. O que eu preciso fazer é, quando esse link for clicado a partir de (B), eu quero esconder a minha iframe, em outras palavras, fazer com que pareça fechamento. Então eu tenho que chegar a esse link no iframe e entender se ele é clicado ou não (B)?

Ajuda por favor.

Graças

Foi útil?

Solução

Eu estou pensando o seguinte trabalho vontade. Estamos realizando basicamente um "achado" sobre o conteúdo do seu iframe. Uma vez que encontrar o link que queremos, ligar um evento a ele que irá fechar o iframe adequado no documento pai. Note-se que o seu iframe devem estar no mesmo domínio que a página pai, ou você não será capaz de acessar seus elementos. Além disso, eu adicionei uma classe para o link para tornar mais fácil a seleção. Eu sugiro que você também fazer isso.

$("#iframeID").contents().find("a.closeWindow").bind("click", function(){
  $("#iframeID", top.document).hide();
});

Se você absolutamente necessário para basear a ligação no texto do link, você terá que percorrer os links para encontrar o correto:

$("a", $("#iframeID").contents()).each(function(){
  if ($(this).text() == "Close The Page") {
    $(this).bind("click", function() { 
      $("#iframeID", top.document).hide(); 
    });
  }
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top