移動端的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>
