Bonjour à tous,
J'ai un problème assez mineur mais qui est gênant pour la navigation. Je m'explique :
J'ai crée un "player" pouvant lire des vidéos que j'ai incrusté dans une iframe. Cette même iframe qui est rechargée plusieurs fois en changeant sa source pour changer de vidéo. Seulement quand je change la source de l'iframe cela se rajoute dans l'historique du navigateur, et quand on souhaite revenir en arrière de la page ça change la source de l'iframe au lieu de changer de page.
J'ai trouvé cette solution sur internet :
Elle fonctionne parfaitement seul soucis sur mon iframe je récupère l'événement "load" et avec cette fonction mon événement n'est plus détecté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function setIFrameSrc(idFrame, url) { var originalFrame = document.getElementById(idFrame); var newFrame = document.createElement("iframe"); newFrame.id = originalFrame.getAttribute("id"); newFrame.width = originalFrame.getAttribute("width"); newFrame.height = originalFrame.getAttribute("height"); newFrame.src = url;*** var parent = originalFrame.parentNode; parent.replaceChild(newFrame, originalFrame); }
Puisque pour pouvoir masquer l'iframe une fois la vidéo terminée je fais un window.location = "about:blank" depuis l'iframe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $('#ifrmvideo').on('load', function(e){ if($(this).attr('src').length == 0) return; rld++; if(rld > 1){ $('#ifrmvideo').attr('src', '').hide().contents().find("body").html(''); rld = 0; } });
Merci de votre aide, si vous avez besoin de plus d'informations n'hésitez pas.
Partager