Permettez-moi d'abord de me dire que je suis ouvert aux idées sur une approche différente.
J'ai et iframe comme tel: p> la page en cours de chargement avec L'iframe a une div appelée logininnerbox. Je veux seulement afficher la logininnerbox et tout à l'intérieur de celui-ci. P> Des idées sur la façon de faire ça? J'y envisagé d'utiliser JQuery ou JavaScript d'une autre sorte pour supprimer tout le reste sur la page chargée par l'IFrame, je ne sais pas comment accéder à cela ... P> juste pour être clair Je veux tout sur ma page en dehors de l'iframe pour rester intact. Je veux l'équivalent de dire $. ('Testloadlogin'). Charge ('.// Security / Login.aspx' #LogininnerBox) qui obtiendrait simplement le HTML de LogininnerBox et la placer dans le TestLoadLogin DIV. Cependant, j'ai besoin du traitement en arrière de l'autre page pris en charge par Iframe, mais pas par la charge JQuery. P> Le marquage de la page chargée par l'IFrame est P> <div class="ui-corner-all" id="RefRes">
<div id="testloadlogin">
<iframe onload="javascript:loadlogin()" id="loginiframe" src="../security/login.aspx"
scrolling="auto" frameborder="1">
[Your user agent does not support frames or is currently configured
not to display frames. However, you may visit
<a href="../security/login.aspx">the related document.</a>]
</iframe>
</div>
</div>
<script type="text/javascript">
function loadlogin() {
$('<body>*', this.contentWindow.document).not('#ctl00_CLPMainContent_Login1').hide();
}
</script>
3 Réponses :
var iframe = $("iframe").contents(), loginBox = iframe.find("#loginInnerBox").clone(); iframe.find("*").remove(); iframe.append(loginBox);
Espérons qu'ils seront du même domaine. Ils sont en ce moment, j'espère juste qu'ils ne changent pas les domaines du site. Je teste maintenant.
ça n'a rien fait. montre juste la page entière de l'iframe comme avant.
Hmm .. Essayez si vous pouvez supprimer quelque chose du contenu de l'iframe. Si Supprimer code> ne fonctionnera pas sur les iframes, vous pouvez passer à
$ (el) .hide () code>?
J'ai essayé: $ ('# logininnerbox'). Supprimer (); Et il n'a pas retiré la logininnerbox qui est dans l'iframe. $ ('# logininnerbox'). Masquer (); a le même effet de toujours montrer la boîte de connexion.
Accéder aux éléments dans l'iframe sans $ ("iframe"). Contenu () code> ne fonctionnera pas. Essayez de donner à votre iframe un identifiant et d'y accéder via
$ ("# iframe_id"). Contenu () Code>.
ni $ ('# loginiframe »). Contenu (). Masquer (); NOR $ ('# loginiframe »). Contenu (). Supprimer (); fait quelque chose du tout
Il faut être important de dire que le chargement de l'iframe doit tirer avant d'accéder au contenu.
ajoutez ceci au
Donc, s'il y a des divs à l'intérieur du loginbox, je devrai utiliser Clone? Le même code côté serers sera-t-il exécuté lorsque je clique sur un bouton dans l'iframe lors de l'utilisation de clone comme lorsque vous n'utilisez pas de clone?
JavaScript ne se soucie pas du code côté serveur et de l'autre côté, le serveur ne se soucie pas de JavaScript.
avec jQuery, vous pouvez charger non seulement le contenu d'une URL, mais un sélecteur CSS spécifique de cette URL. Ce serait une approche beaucoup plus propre. C'est comme ça. via astuces CSS p> p>
Je ne comprends pas. Que voulez-vous dire par "Afficher seulement la boîte"? Que voulez-vous arriver avec l'autre contenu? Qu'en est-il du contenu en dehors de l'iframe?
Désolé. Le reste du contenu à l'intérieur de l'iframe je veux disparaître. Le contenu en dehors de l'iframe, je veux rester intact.
Cela dépendra de la balise de la page chargée à l'intérieur de l'iframe, comment le faire, alors veuillez afficher le balisage.
Publié une mise en page générale, je peux poster la page tandis que si vous le souhaitez ...