J'ai ce code javascript qui s'exécute lorsque le navigateur détecte si l'utilisateur ferme le Windoow popup. Cela fonctionne dans les navigateurs firefox, opera, chrome, mais j'ai une erreur avec internet explorer (l'erreur est en néerlandais donc j'ai essayé de traduire). Il ouvre une fenêtre contextuelle, mais ouvre également un nouvel onglet dans Internet Explorer, ce qui n'est pas le cas avec les autres navigateurs.javascript Internet Explorer ne détecte pas window.closed
Ceci est le code JS. L'erreur donne sur la ligne
Impossible de fermer la propriété d'une référence non définie ou récupérer une référence à une valeur vide
function hyperLink(link) {
var newWindow = window.open(link.href, "Hyperlink", "status=yes,toolbar=yes,scrollbars=yes,resizable=yes,width=" + screen.width/1.5 + ",height=" + screen.height/1.5 + "");
var interval = window.setInterval(function() {
if (newWindow.closed !== false) // for opera
{
$.ajax({
url: "index.php?route=extension/module/filter_product/getSupplierName",
type: "POST",
data: {supplier_name : link.name},
success: function(result) {
// your success handler
/*console.log("success");
console.log(result);*/
}
});
window.clearInterval(interval);
}
}, 500);
}
Code HTML:
<div class="col-md-3 text-center hyperlink-image">
<a href="<?php echo $supplier['href']; ?>" onclick="hyperLink(this)" target="Hyperlink" name="<?php echo $supplier['name']; ?>">
<img src="<?php echo $supplier['thumb']; ?>" alt="<?php echo $supplier['name']; ?>"/>
</a>
</div>
la fenêtre contextuelle est une boutique en ligne externe d'un fournisseur, donc je ne peux pas contrôler cela et ne peux pas ajouter le code pour voir si la fenêtre popup est fermée. tout doit être fait de mon côté – SC92