移动端的alert、confirm都会显示来源的url,影响体验
下面的代码将alert和confirm重写了一遍,可去除url
参考了网上代码,完善了confirm不同状态跳转
示例代码:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>文档标题</title>
- </head>
- <body>
- <script type="text/javascript">
- /*remove url of alert/confirm*/
- var wAlert = window.alert;
- window.alert = function (message) {
- try {
- var iframe = document.createElement("IFRAME");
- iframe.style.display = "none";
- iframe.setAttribute("src", 'data:text/plain,');
- document.documentElement.appendChild(iframe);
- var alertFrame = window.frames[0];
- var iwindow = alertFrame.window;
- if (iwindow == undefined) {
- iwindow = alertFrame.contentWindow;
- }
- iwindow.alert(message);
- iframe.parentNode.removeChild(iframe);
- }
- catch (exc) {
- return wAlert(message);
- }
- }
- var wConfirm = window.confirm;
- window.confirm = function (message) {
- try {
- var iframe = document.createElement("IFRAME");
- iframe.style.display = "none";
- iframe.setAttribute("src", 'data:text/plain,');
- document.documentElement.appendChild(iframe);
- var alertFrame = window.frames[0];
- var iwindow = alertFrame.window;
- if (iwindow == undefined) {
- iwindow = alertFrame.contentWindow;
- }
- var result=iwindow.confirm(message);
- iframe.parentNode.removeChild(iframe);
- return result;
- }
- catch (exc) {
- return wConfirm(message);
- }
- }
- var r=confirm("Press a button");
- if (r==true)
- {
- document.write("You pressed OK!");
- }
- else
- {
- document.write("You pressed Cancel!");
- }
- </script>
- </body>
- </html>