javascript - Apa yang perlu saya lakukan jika chrome tidak mempunyai kaedah showModalDialog?
PHP中文网
PHP中文网 2017-07-05 10:40:22
0
1
827

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中文网

认证高级PHP讲师

membalas semua(1)
Ty80

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>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan