Navigateur: IE6/IE7.Remplacer le document dans la boîte de dialogue modale IE
Je veux charger un nouveau document dans ma boîte de dialogue modale html, soit via une cible de formulaire ou une fonction javascript.
<html> <!-- quirks mode -->
<head>
<script>
function openModal(url) {
if(window.showModalDialog) showModalDialog(url);
else {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");
open(url, "", "modal=yes");
} catch (e) {
alert("dialog windows unsupported by browser");
}
}
}
</script>
</head>
<body style="background:red" onload="setTimeout(function(){document.body.style.backgroundColor='white'},100)">
<a href="javascript:openModal(location.href)">Open Modal</a>
<form>
<input type="submit" value="Send Form" />
</form>
<a href="javascript:location.reload()">Reload content</a>
</body>
</html>
Dans les navigateurs basés sur Gecko, cela fonctionne. Dans IE, dans la boîte de dialogue modale, le formulaire ouvre une nouvelle fenêtre (même si je spécifie l'attribut target="_self"
) et le javascript reload() échoue silencieusement. Si j'essaie de faire un location.replace(location.href)
ou location.href=_someurl_
, cela ouvre une nouvelle fenêtre. Donc, ma question: comment puis-je obtenir IE pour remplacer le document actuel dans une fenêtre de dialogue modale?
J'ai besoin d'une fenêtre modale. – Alsciende