javascript - chrome 沒有showModalDialog方法怎么辦
問題描述
在訪問一些路由器設(shè)置頁面的時候,由于比較老,chrome竟然無法正常彈出設(shè)置窗口,console里報錯:showModalDialog方法不存在
問題解答
回答1:直接把對應(yīng)的showModalDialog方法改成open就可以了
另stackoverflow上的代碼,但是有時候不起作用
<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 specsvar 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>
相關(guān)文章:
1. docker網(wǎng)絡(luò)端口映射,沒有方便點的操作方法么?2. debian - docker依賴的aufs-tools源碼哪里可以找到啊?3. 前端 - ng-view不能加載進(jìn)模板4. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””5. python - from ..xxxx import xxxx到底是什么意思呢?6. angular.js - angularJS在Android WebView中無法正常調(diào)后臺接口7. nignx - docker內(nèi)nginx 80端口被占用8. docker容器呢SSH為什么連不通呢?9. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應(yīng)10. ddos - apache日志很多其它網(wǎng)址,什么情況?
