欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS移动端(H5)alert/confirm提示信息去除网址(URL)

程序员文章站 2024-02-13 10:42:58
最近移动端项目用alert和confirm进行信息提示,但发现在ios系统中,每次提示信息上面都会被添加一行url地址。 那么如何去掉地址提示呢,经查找和实现发现进行重写...

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

衍生知识点:

html中data类型的url

针对于一些小的数据,可以在网页中直接嵌入,而不是从外部文件载入,比如图片。这样的好处是可以减少一次http的请求,缺点是使得页面内容变大。data类型的url格式在98年就已经提出了,现在绝大部分的浏览器都能支持,比如使用ie6内核的国内浏览器,chrome和firefox等,但ie8上使用有问题,图片显示不完整。

data类型的url有以下几种形式:

 data:,<文本数据> 
 data:text/plain,<文本数据> 
 data:text/html,<html代码> 
 data:text/html;base64,<base64编码的html代码> 
 data:text/css,<css代码> 
 data:text/css;base64,<base64编码的css代码> 
 data:text/javascript,<javascript代码> 
 data:text/javascript;base64,<base64编码的javascript代码> 
 data:image/gif;base64,base64编码的gif图片数据 
 data:image/png;base64,base64编码的png图片数据 
 data:image/jpeg;base64,base64编码的jpeg图片数据 
 data:image/x-icon;base64,base64编码的icon图片数据 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。