最近移动端项目用alert和confirm进行信息提示,但发现在IOS系统中,每次提示信息上面都会被添加一行URL地址。
那么如何去掉地址提示呢,经查找和实现发现进行重写alert和confirm方法可解决此问题。
代码如下:
重写alert方法:
window.alert = function(name){ var iframe = document.createElement("IFRAME"); iframe.style.display="none"; iframe.setAttribute("src", 'data:text/plain,'); document.documentElement.appendChild(iframe); window.frames[0].window.alert(name); iframe.parentNode.removeChild(iframe); };
重写confirm方法:
window.confirm = function (message) { 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 result = alertFrame.window.confirm(message); iframe.parentNode.removeChild(iframe); return result; };
其中confirm方法要return子框架的结果。否则默认都是“取消”的效果。