J'ai un site Web qui utilise un iframe. L'iframe lui-même est le contenu du site Web. Maintenant, dans l'iframe, je voudrais utiliser le dialogue jQuery. Cependant, lorsque vous l'utilisez, la superposition et la boîte de dialogue ne sont affichées qu'à l'intérieur de l'iframe et non sur le parent. Mon html parent a le code HTML suivant défini pour la boîte de dialogue:Afficher la boîte de dialogue jquery dans la fenêtre parent
<div id="modalHolder"></div>
Dans mon iframe j'utilise le javascript suivant pour créer la boîte de dialogue et de le montrer.
dlg1 = $(window.parent.document.getElementById("modalHolder"));
dlg1 = dlg1.dialog({
width: 300,
height: 150,
modal: true,
autoOpen: false,
resizable: false,
closeOnEscape: false,
draggable: false,
overlay:
{
backgroundColor: 'red',
opacity: 0.65
},
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});
Pour afficher la boîte de dialogue J'utilise ceci:
dlg1.dialog('open');
En fait, vous pourriez être capable de déplacer les divs de dialogue de l'iframe au document parent après leur création, mais ce serait vraiment moche. Quelque chose comme .. # ('. Ui-widget-overlay, ui-dialog'). AppendTo (window.parent.document.body); – CalebD
Vous avez raison. Il semble qu'il déplace le "modalHolder" du parent dans l'iframe. Je vais déplacer mon js de l'enfant au parent. J'essayais d'éviter ça. Merci quand même! – vikasde
Je pourrais déplacer les éléments vers le parent, cependant ils devraient être recalculés en hauteur/largeur. – vikasde