recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Que dois-je faire si Chrome n'a pas de méthode showModalDialog?

Lors de la visite de certaines pages de paramètres du routeur, Chrome ne peut pas afficher normalement la fenêtre des paramètres car elle est relativement ancienne.
Une erreur est signalée dans la console : la méthode showModalDialog n'existe pas

.
PHP中文网PHP中文网2691 Il y a quelques jours804

répondre à tous(1)je répondrai

  • PHP中文网

    PHP中文网2017-07-05 10:42:22

    Changez simplement la méthode showModalDialog correspondante pour ouvrir

    Un autre code sur stackoverflow, mais parfois ça ne marche pas

    <script type="text/javascript">
      // fix for deprecated method in Chrome 37
      if (!window.showModalDialog) {
         window.showModalDialog = function (arg1, arg2, arg3) {
    
            var w;
            var h;
            var resizable = "no";
            var scroll = "no";
            var status = "no";
    
            // get the modal specs
            var mdattrs = arg3.split(";");
            for (i = 0; i < mdattrs.length; i++) {
               var mdattr = mdattrs[i].split(":");
    
               var n = mdattr[0];
               var v = mdattr[1];
               if (n) { n = n.trim().toLowerCase(); }
               if (v) { v = v.trim().toLowerCase(); }
    
               if (n == "dialogheight") {
                  h = v.replace("px", "");
               } else if (n == "dialogwidth") {
                  w = v.replace("px", "");
               } else if (n == "resizable") {
                  resizable = v;
               } else if (n == "scroll") {
                  scroll = v;
               } else if (n == "status") {
                  status = v;
               }
            }
    
            var left = window.screenX + (window.outerWidth / 2) - (w / 2);
            var top = window.screenY + (window.outerHeight / 2) - (h / 2);
            var targetWin = window.open(arg1, arg1, 'toolbar=no, location=no, directories=no, status=' + status + ', menubar=no, scrollbars=' + scroll + ', resizable=' + resizable + ', copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
            targetWin.focus();
         };
      }
    </script>

    répondre
    0
  • Annulerrépondre