JQuery trovare un elemento all'interno di Iframe (dal suo testo) e l'aggiunta di funzioni ad esso .Click

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

Domanda

Ho una pagina web (A) e sto Embedding (A) al mio mainpage (B) utilizzando iframe. Questo (A) contiene un link che chiude la finestra del browser:

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

Da quando ho embedd (A), la stretta capacità di (A) non è più funzionale. Quello che devo fare è, quando questo link viene cliccato da (B), voglio nascondere la mia iframe, in altre parole fanno sembrare chiusura. Quindi devo raggiungere quel link nella iframe e capire se si è cliccato o no (B)?

Aiuto per favore.

Grazie

È stato utile?

Soluzione

Sto pensando di seguito funzionerà. Stiamo fondamentalmente l'esecuzione di un "trovare" sui contenuti del tuo iframe. Una volta che troviamo il link che vogliamo, ci leghiamo un evento ad esso che chiuderà la corretta iframe nel documento principale. Si noti che l'iframe deve essere nello stesso dominio come pagina di genitore, o non sarà in grado di accedere i suoi elementi. Inoltre, ho aggiunto una classe per il link per rendere più facile la selezione. Vi consiglio anche di fare questo.

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

Se è assolutamente necessario basare il legame sul testo del collegamento, dovrete per scorrere i link per trovare quello giusto:

$("a", $("#iframeID").contents()).each(function(){
  if ($(this).text() == "Close The Page") {
    $(this).bind("click", function() { 
      $("#iframeID", top.document).hide(); 
    });
  }
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top