Je veux charger un iframe au clic, voici ce que j'ai jusqu'à présent:
$("#frame").click(function () {
$('this').load("http://www.google.com/");
});
Ça ne marche pas C'est le code complet: JS Bin
$("#button").click(function () {
$("#frame").attr("src", "http://www.example.com/");
});
HTML:
<div id="mydiv">
<iframe id="frame" src="" width="100%" height="300">
</iframe>
</div>
<button id="button">Load</button>
$("#frame").click(function () {
this.src="http://www.google.com/";
});
Parfois, le langage JavaScript est encore plus cool et plus rapide que jQuery ;-)
Essayez $(this).load("/file_name.html");
. Cette méthode cible un fichier local.
Vous pouvez également cibler des fichiers distants (sur un autre domaine) en consultant: http://en.wikipedia.org/wiki/Same_Origin_policy
voici Iframe en vue:
<iframe class="img-responsive" id="ifmReport" width="1090" height="1200" >
</iframe>
Chargez-le dans le script:
$('#ifmReport').attr('src', '/ReportViewer/ReportViewer.aspx');
Juste au cas où quelqu'un trébuche encore sur cette vieille question:
Le code était théoriquement presque correct dans un sens, le problème résidait dans l'utilisation de $ ('this') au lieu de $ (this), indiquant donc à jQuery de rechercher une balise.
$(document).ready(function(){
$("#frame").click(function () {
$(this).load("http://www.google.com/");
});
});
Le script lui-même ne fonctionnera pas tel qu'il est actuellement, car la fonction load () elle-même est une fonction AJAX, et Google ne semble pas autoriser spécifiquement le chargement de cette page avec AJAX, être facile à utiliser afin de charger des pages de votre propre domaine en utilisant des chemins relatifs.