Bonjour,
J''essaie de charger dynamiquement un script dans un document que j'ai chargé dans un iFrame. Malheureusement, il semble que ça ne fonctionne pas de la façon dont je m'y prends. J'ai créé ici trois petits fichiers qui permettent de recréer le problème, je code en JQuery mais il m'importe peu que la solution implique ou non du code JQuery.
index1.html
index2.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="script.js"></script> </head> <body> <input type="button" value="Bouton #1" onclick="charger_iframe()"> <body> </html>
script.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> </head> <body> <input type="button" value="Bouton #2" onclick="faire_le_test()"> <body> </html>
Quelqu'un peut m'aider à ce que je puisse correctement charger script.js dans index2.html à partir de index1.html afin que je puisse exécuter la fonction faire_le_test()?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function charger_iframe() { var ifrm = $("<iframe>").attr("src","index2.html"); $(document.body).append(ifrm); $(ifrm).load(function() { var context = $("iframe").contents(); var headID = $("HEAD", context); var newScript = $('<script>'); $(newScript).attr({"type":"text/javascript","src":"script.js"}); $(headID).append(newScript); alert($(headID).html()); }); } function faire_le_test() { alert("Ceci est un test"); }
Partager