去除ios移动端alert/confirm的网址(url)
来源:互联网 发布:2016非农数据 编辑:程序博客网 时间:2024/05/21 19:43
<div class="article_bar clearfix"> <div class="artical_tag"> <span class="original">转载</span> <span class="time">2016年04月21日 19:55:12</span> </div> <ul class="article_tags clearfix csdn-tracking-statistics" data-mod="popu_377" style="display: none;"> <li class="tit">标签:</li> </ul> <ul class="right_bar"> <li><button class="btn-noborder"><i class="icon iconfont icon-read"></i><span class="txt">5802</span></button></li> <!--<li><button class="btn-noborder"><i class="icon iconfont icon-dashang-"></i><span class="txt">0</span></button></li>--> <li class="edit" style="display: none;"> <a class="btn-noborder" href="http://write.blog.csdn.net/postedit/51212336"> <i class="icon iconfont icon-bianji"></i><span class="txt">编辑</span> </a> </li> <li class="del" style="display: none;"> <a class="btn-noborder" onclick="javascript:deleteArticle(fileName);return false;"> <i class="icon iconfont icon-shanchu"></i><span class="txt">删除</span> </a> </li> </ul> </div> <div id="article_content" class="article_content csdn-tracking-statistics" data-mod="popu_307" data-dsm="post" style="overflow: hidden;">
去除移动端alert/confirm的网址(url),有需要的朋友可以参考下。
在移动端使用原生的alert/confirm总是会显示网址(url),界面看起来很丑,搜索半天也找不到解决办法,在绝望的时候看到一篇文章写的很好,在此感谢http://ifindever.com/archives/260.html,还希望能帮助到大家。
最近在做小小创客 webapp,碰到一个问题,以前的版本,ios 和Android都可以通过重写webview的alert等弹窗事件来隐藏掉弹窗的标题,但是ios7之后,api被禁用了,导致ios无法重写隐藏标题:
1.通过js调用ios原生代码来实现,即:window.alert = function(str){window.local.href = ” xx://str/” +str}
2.js+html+css模拟,但是为了实现alert等的阻塞执行,需要把后面的代码放入回调函数中执行
但是还是感觉这两种方式实现不太优雅,都需要对现有代码做比较大的改动,不死心,于是继续google,终于发现个好办法:
- <span style=“font-size:10px;”> <script>
- 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);
- }
- alert(’xxx’);
- </script></span>
<span style="font-size:10px;"> <script> 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); } alert('xxx'); </script></span>
这个方法在于重写了alert方法(confirm方法同理),不需要改动现有代码,并且解决了弹窗标题出现网址的问题。不过需要注意的是,每次在框架中执行完一个alert/confirm后,需要将框架移除,下次再重新载入,否则在chrome中会引发跨域执行,从而被chrome拦截。
这里还有confirm,重写window.confirm之后,确认和取消点击的事件都是执行取消,这时需要这样写:
confirm需要return子框架的结果:
- var result = window.frames[0].window.confirm(name);
- iframe.parentNode.removeChild(iframe);
- return result;
var result = window.frames[0].window.confirm(name); iframe.parentNode.removeChild(iframe); return result;
阅读全文
0 0
- 去除ios移动端alert/confirm的网址(url)
- 去除ios移动端alert/confirm的网址(url)
- 去除移动端alert/confirm的网址(url)
- IOS移动端(H5)alert/confirm提示信息去除网址(URL)
- IOS移动端(H5)alert/confirm提示信息去除网址(URL)
- IOS移动端(H5)alert/confirm提示信息去除网址(URL)
- ios移动端(H5)alert/confirm提示信息去除网址(URL)
- 去掉移动端alert和confirm弹出框携带url链接
- 去掉移动端alert和confirm弹出框携带url链接
- 去掉alert,confirm弹出框显示的url
- ios开发中WebView,去除(自定义)JS中Alert显示的网址
- alert,confirm,prompt的用法
- 移动端常用alert、confirm、toast等弹窗插件,兼容 jQueryZepto
- [原创]使用自定义的alert和confirm
- 打造自己的Javascript alert confirm对象
- javascript中confirm,alert,ptompt的用法
- JavaScript中confirm,alert,prompt的用法
- 仿alert,confirm的信息提示框
- Unity 重置项目资源的guid
- 深入理解python super
- Django中配置异常显示页面==路由
- SpringBoot学习-(十九)SpringBoot定时器#Schedule
- ThoughtWorks 2018校园招聘作业题目 -- 出租车
- 去除ios移动端alert/confirm的网址(url)
- C++ primer第五版“Sale_item.h”头文件
- Zookeeper数据与存储
- Warm up:C input and output
- TOMCAT异常退出分析和解决方法
- Linux操作系统第二章问答
- 异步TCP通信-select
- 删除功能测试的测试点
- Glide工具类