Ich habe eine Seite, die ein iframe
Element enthält. Dieser iFrame enthält zwei Ebenen von document
in ihm.jquery access element innerhalb iFrame
Hier ist die kurze Version des Codes (die meisten Sachen wie sonst entfernt wäre es zu groß sein)
<iframe src="some soruce" width="863" height="486" frameborder="0" scrolling="no">
<html>
<head>...</head>
<body>
<iframe id="player" src="some source" width="863" height="486" frameborder="0" scrolling="no">
<html>
<head>...</head>
<body>
<div id="mediaplayer_wrapper" style="position: relative; width: 863px; height: 486px;">
<object type="application/x-shockwave-flash" data="/new-flash-player/player.swf" width="100%" height="100%" id="mediaplayer" name="mediaplayer" tabindex="0"></div></div>
<div id="banners_area" style="position: absolute; top: 0px; left: 0px; width: 863px; height: 486px; display: none; background-color: white;">
<br>
</div>
</div>
</body>
</html>
</iframe>
</body>
</html>
</iframe>
Was ich bin versucht, über jQuery das mediaplayer
Objekt zuzugreifen und löst eine Funktion darauf. Ich habe folgendes versucht:
var p = jQuery("mediaplayer");
p.hideGate();
und auch
var p = $("#iFrame").contents().find("#mediaplayer");
p.hideGate();
aber keiner von ihnen gearbeitet haben. (Gab mir einen Fehler, dass hideGate
nicht definiert ist. Wenn jedoch unter Entwicklern ich mich auf den Inhalt des jeweiligen Spielers wechseln, und führen Sie den ersten Code, funktioniert es plötzlich.
Was soll ich tun falsch hier wie komme ich nicht die Funktion auslösen können
Haben Sie Zugriff auf alle diese Dokumente? –
Sie haben #player iframe in äußeren iframe mit src = "einige soruce" eingebettet. Das ist seltsam, da der Inhalt des äußeren Iframes alles ist, was "in sorce" ist und nicht das, was Sie in Ihrem Code inline geschrieben haben. Somit ist der innere iframe #player nicht zugänglich. –