在ios下 微信打开iframe链接的页面时 在微信里长按无法识别二维码

新手上路,请多包涵

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

阅读 9.3k
2 个回答

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

解决实现逻辑

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

父子页面推送的实现

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

注:在Firefoxframes使用iframename属性

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题