JQuery ein Element innerhalb Iframe- finden (durch seinen Text) und das Hinzufügen .click Funktion es

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

Frage

Ich habe eine Webseite (A), und ich bin das Einbetten (A) auf meine Hauptseite (B) mit iframe. Diese (A) enthält einen Link, der das Browserfenster schließt:

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

Da ich embedd (A), ist die enge Fähigkeit in (A) nicht mehr funktionsfähig. Was ich tun muß, ist, wenn diese Verbindung von (B) angeklickt wird, ich mag, dass mein iframe verstecken, mit anderen Worten es wie Schließung aussehen. Also muß ich den Link in der iframe erreichen und verstehen, wenn es angeklickt wird oder nicht (B)?

Hilfe bitte.

Danke

War es hilfreich?

Lösung

Ich denke folgende funktionieren. Wir Durchführung im Grunde ein auf dem Inhalt Ihres iframe „finden“. Sobald wir den Link, den wir wollen finden, binden wir ein Ereignis, dass die richtige iframe im übergeordneten Dokument wird geschlossen. Beachten Sie, dass Ihre iframe auf der gleichen Domäne wie Ihre Eltern Seite sein muss, oder Sie werden nicht in der Lage sein, seine Elemente zuzugreifen. Darüber hinaus habe ich eine Klasse, um den Link, um es einfacher zu Auswahl zu treffen. Ich schlage vor, Sie auch dies tun.

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

Wenn Sie unbedingt die Bindung auf den Text des Links müssen stützen, werden Sie, um durch die Links haben zu finden die richtige ist:

$("a", $("#iframeID").contents()).each(function(){
  if ($(this).text() == "Close The Page") {
    $(this).bind("click", function() { 
      $("#iframeID", top.document).hide(); 
    });
  }
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top