2017-10-20 16 views
0

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> 

Répondre