最近移动端项目用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子框架的结果。否则默认都是“取消”的效果。