cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Apa yang perlu saya lakukan jika chrome tidak mempunyai kaedah showModalDialog?

Apabila melawati beberapa halaman tetapan penghala, Chrome tidak boleh memaparkan tetingkap tetapan seperti biasa kerana ia agak lama
Ralat dilaporkan dalam konsol: kaedah showModalDialog tidak wujud

PHP中文网PHP中文网2730 hari yang lalu828

membalas semua(1)saya akan balas

  • PHP中文网

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

    Hanya tukar kaedah showModalDialog yang sepadan untuk membuka

    Kod lain pada stackoverflow, tetapi kadangkala ia tidak berfungsi

    <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>

    balas
    0
  • Batalbalas