2019独角兽企业重金招聘Python工程师标准>>>

在html5 网页中模拟写了一个名叫alert 的函数,主要实现了一个提示框和点击提示框回调的功能,函数如下:

function alert(word, fn) {$("#coverbg").show();if (fn && typeof (fn) == "function") {var conStr = "<div id='conDiv' class='conDiv'>" + "<div id='tipcontent' class='concontentc'>" + word + "</div>" + "<div class='conbtn' style='width:100%;' onclick='hideCon(" + fn + ");'>确定</div>" + "</div>"} else {var conStr = "<div id='conDiv' class='conDiv'>" + "<div id='tipcontent' class='concontentc'>" + word + "</div>" + "<div class='conbtn' style='width:100%;' onclick='hideCon();'>确定</div>" + "</div>"}if ($("#conDiv").length > 0) {$("#conDiv").remove()}$("body").append($(conStr));var wordWidth = noneWidth(word);var divW = $("#conDiv").width();if (wordWidth / divW > 0.8) {wordWidth = divW * 0.8}$("#tipcontent").width(wordWidth);var winH = $(window).height() / 2 - 90;$("#conDiv").css("top", winH + "px")
}

在外部浏览器中和Android 手机微信中测试都可以正确回调函数fn,可是在IOS中就是不能正确回调函数。真是奇怪了!然后就开始一步步找问题,刚开始怀疑是

if (fn && typeof (fn) == "function")

条件不成立,然后弄了个日志显示,结果返回为undefined在微信内部浏览器中,然后又用了call,apply等方式都是undeined,实在无语,最后把fn 参数传递成字符串过去发现依然是undefined,真让人纳闷,后来一想有可能是alert被微信使用了吧,只能传递一个参数,就把函数重新命名成了showalert,经过测试居然可以了!

通过以上问题的解决,发现微信android 版本和IOS版本实现应该差别比较大!另外微信内置了alert函数优先级高!不知道分析的是否正确!

转载于:https://my.oschina.net/zhugenqiang/blog/659682

奇怪的微信内置浏览器IOS版和Anroid 版相关推荐

  1. 在微信内置浏览器 ios video再次点击事件没反应 video有些视频上下出现空白原因

    问题一:video再次点击事件没有反应,Android正常 解决办法:在video 标签中加入 :webkit-playsinline playsinline <div class=" ...

  2. c 中html上传文件大小,IOS微信内置浏览器对html标签input type=file上传的文件大小size错误?...

    完整代码: function _s(){ var f = document.getElementById("f").files; //上次修改时间 alert(f[0].lastM ...

  3. iOS 模拟微信内置浏览器CYWebViewController

    iOS 模拟微信内置浏览器和Safari浏览器CYWebViewController 分为两种模式,一种是类似微信内置浏览器模式,一种是Safari浏览器模式.类似微信内置浏览器,顶部导航栏提供web ...

  4. PC版微信内置浏览器 缓存文件保存位置

    PC版WX内置浏览器 缓存文件保存位置 C:\Users\username\AppData\Roaming\Tencent–000\WeChat\xweb\web\Code Cache PC版微信内置 ...

  5. 解决ios在微信内置浏览器中video播放的全屏问题

    video 标签在部分的安卓微信和iOS的微信浏览器上点击播放会默认全屏展示 解决部分安卓默认全屏展示,给video标签加如下属性 x5-video-player-type="h5-page ...

  6. 实现base64格式的amr音频文件在IOS、android微信内置浏览器的播放

    参考文档: 1.https://github.com/yxl/opencore-amr-js   (将amr文件转为wav格式的编解码项目) 因为项目需要,要将amr的base46格式的音频文件在IO ...

  7. 安卓版微信内置浏览器,a href=tel:电话号码/a 这个链接失效,跳到拨号界面

    转自:http://segmentfault.com/q/1010000000318831 安卓版微信内置浏览器,<a href="tel:电话号码"></a&g ...

  8. 微信内置浏览器下载APP(包括安卓apk和ios的ipa,pxl,deb)的解决方案

    做过微信推广的朋友都知道,在微信内直接下载app是不可以的,这个是微信做了限制的原因.但是微信是目前用户活跃量较大的平台之一,App推广肯定离不开微信生态圈.那我们如何在微信内置浏览器内直接下载app ...

  9. ASP.NET MVC Display Mode 移动端视图 配置对微信内置浏览器的识别

    最近在捣鼓一个稍微有点low的商城网站,没有计划做app却要求有个wap版,而前端又没有做成响应式,时间WTF,直接利用了asp.net mvc的Display Mode Provider. 使用方式 ...

最新文章

  1. 1.3 Quick Start中 Step 7: Use Kafka Connect to import/export data官网剖析(博主推荐)
  2. Python修行之字符串(一):连接、切割、大小写、排版
  3. linux版本之redhat9------终端中文软件zhcon0.2.6的安装及使用
  4. 使用Spring-data-jpa(1)(三十)
  5. Tomcat如何将项目发布到webapps目录下
  6. 分享18个常用的网站性能测试工具
  7. 拒修电脑后,妹子又约我学机器学习,好烦(甜)!
  8. Vue全家桶 - 电商后台管理系统项目开发实录(详)
  9. Glances:一款功能强大的操作系统安全监控平台
  10. Filter使用详解
  11. Linux namespace - Docker 背后的故事
  12. matlab的和操作
  13. 圣诞收到最搞笑的短信两则
  14. python模拟登陆豆瓣_模拟登陆豆瓣并爬取个人主页(爬虫项目三)
  15. 计算机一定要学五笔打字吗,学习五笔打字大概要多长时间
  16. 360 随身wifi安装服务器系统,win7系统无法安装360随身WiFi的解决方法
  17. 思科二层冗余技术对比---PortChannel/StackWise/VSS/vPC
  18. 计算机显示屏知识,计算机配置知识之显示屏
  19. 【判断是否为手机号】
  20. 雷军:把UCWEB做成像GOOGLE一样伟大

热门文章

  1. 俄美就《中导条约》磋商 普京:不希望进行军备竞赛
  2. mysql配置——库表操作、用户操作
  3. Android中文API(128) —— HandlerThread
  4. MySQL内核月报 2015.01-MySQL · 捉虫动态· replicate filter 和 GTID 一起使用的问题
  5. javascript的id、class、元素选择器
  6. Angularjs $http.post
  7. 基于HAProxy的网站架构
  8. HTTP协议头部与Keep-Alive模式详解-Content-Length Transfer-Encoding
  9. spring boot web 开发示例
  10. spark job生成的时间驱动