Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

如题 最近在开发中 发现 在苹果手机中打开 iframe链接的网页时 长按二维码 不能调出扫一扫的按钮 有没有谁遇到这个问题 安卓中可以正常调用!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
669 views
Welcome To Ask or Share your Answers For Others

1 Answer

前段时间我参与的项目中也遇到这个问题,原有的框架使用的也是嵌套iframe的结构,导致iframe中的二维码在IOS下无法识别,最后我的解决方法如下。

解决实现逻辑

1、当iframe中的二维码被按下touchstart的时候,将二维码地址推送至父页面
2、父页面接收到二维码识别的请求,则创建一个不可见的img元素,src为刚刚传输过来的二维码地址,并且二维码置顶铺满整个屏幕
3、在touchendtouchcancel时,通知父窗体删除二维码。

父子页面推送的实现

目前主要采用postMessage进行父子页面之间的消息传递,postMessage可以在不同域之间使用,所以没有跨域问题。
若是同域、并且需要对低版本浏览器IE < 8进行兼容,子页面可以使用parent、父页面使用frames[id||name]进行通信

注:在Firefoxframes使用iframename属性


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...