javascript - chrome 没有showModalDialog方法怎么办
问题描述
在访问一些路由器设置页面的时候,由于比较老,chrome竟然无法正常弹出设置窗口,console里报错:showModalDialog方法不存在
问题解答
回答1:直接把对应的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>
相关文章:
1. javascript - 给js写的盒子添加css样式,css样式没起作用。2. 数据挖掘 - 如何用python实现《多社交网络的影响力最大化问题分析》中的算法?3. 前端 - 类到底该如何去命名 .newsList 这种的命名难道真的不是过度语义化吗?~4. “Webdrivers”可执行文件可能具有错误的权限请参阅https://sites.google.com/a/chromium.org/chromedriver/home5. node.js通过module.exprots返回的是promise对象而非data?6. gulp-ruby-sass编译出来的文件有错7. 使用 CSS3 的 Media Query 浏览器会加载其他不同分辨率的 css 文件么8. html - 开发android的调取我web页面 他之前用的是收费的浏览器包 显示是全的换了免费的浏览器包后 显示就不全 是什么原因啊9. 关于docker下的nginx压力测试10. php-_server-php_self - nginx $_SERVER[’PHP_SELF’] 得到重复路径是什么原因?

网公网安备