Remplacer tout le contenu d'Iframe
Est-il un moyen de remplacer la TOTALITÉ du contenu d'une iframe à l'aide de Javascript (Jquery)?
Par exemple si mon iframe a le contenu suivant...
blah outside of html
<html>
<head>
</head>
<body>
<h1> my title </h1>
</body>
</html>
blah outside of html
..Il pourrait être remplacé par votre script 🙂
Le meilleur que j'ai vu jusqu'à présent est: est-ce
$(youriframe).contents().find('html').html('your content here');
mais cela n'est pas de remplacer le contenu à l'extérieur des balises html. Nous avons un scénario intéressant où l'on doit s'assurer que TOUT le contenu est remplacé.
OU un nouveau iframe avec le nouveau contenu est créé et il suffit de remplace la précédente iframe.
Svp pas de commentaires au sujet de l'attribut src.
source d'informationauteur Erik Lott
Vous devez vous connecter pour publier un commentaire.
Je vais avoir le même problème, et si j'utilise le code comme ceci:
Il fonctionne très bien sur Chrome ou FireFox, mais dans IE8, rien ne sera montré ou la barre de défilement dans l'iframe ne s'affiche pas.
Si j'utilise Rachel de la méthode, le contenu de l'iframe sera comme ça dans tous les navigateurs:
est-il une autre solution?
Essayé celui-ci:
cela fonctionne sur mon cas, les deux ie8 et FF/chrome.
Je devine que vous n'êtes pas avoir des problèmes avec le cross-site scripting dans ce cas... Avez-vous eu de la chance, à l'aide de contentWindow? Quelque chose comme cela semble fonctionner assez bien pour moi:
Pas mon idée, trouvé ici: Écrire les éléments d'un enfant iframe à l'aide de Javascript ou jQuery
ont un scénario similaire, où je suis de la génération d'un nouveau iFrame avec un contenu à partir d'un domaine différent à chaque fois la ligne d'une table est cliqué.
Pour ce faire, j'utilise jQuery AJAX et PHP. PHP regarde ma table MySQL et obtient l'URL de l'iFrame je veux charger; il génère le code HTML d'un iFrame, et j'utilise de l'AJAX de jQuery pour remplacer ce contenu.
Mon code HTML ressemble à quelque chose comme ceci:
Et mon appel AJAX ressemble à ceci:
Le code remplace le code HTML de la div qui contient l'iFrame avec un nouveau iFrame.
Espère que ce (ou quelque chose de similaire) qui fonctionne pour vous.