微信jssdk在iframe页面失效问题的解决措施


Posted in Javascript onMarch 03, 2016

项目需求

微信端添加拍品的页面有照片上传功能,上传时打开一个iframe,该页面用canvas加载用微信jssdk的选择图片接口选择的图片(这里微信会返回一个形如weixin://xxxx的localid,可直接放在img的src里进行预览),可进行放大缩小移动旋转等操作,点击确定按钮将编辑好的图片发送到服务器存成图片

遇到的问题

当子页面功能开发完成后,在主页面通过iframe打开子页面,无法调用微信jssdk接口中的选择图片接口,其他jssdk中的接口也无法正常工作。但是单独打开子页面可以正常工作,主页面的微信分享等也是正常的。

解决思路

首先是以为主页面和子页面同时注入了jssdk的签名信息,是否有可能冲突。经过测试,排除此种可能。通过网络搜索,有网友在此贴中描述的问题与我相似,但没有解决方法 http://www.weixin.com/thread-8022-1-1.html

通过测试可以在主页面进行签名验证,子页面不添加jssdk的签名信息。需要调用jssdk接口时,比如图片选择接口,在jssdk的函数前加parent.,即调用父页面的此函数,经过测试,功能可正常调用。

parent.wx.chooseImage({
success: function (res) {
//upload_success(res.localIds);
}

值得一提的是,微信jssdk看似功能强大,但是bug不少,真正在项目中使用,经不起推敲。虽然解决的此问题,新的问题又来了,canvas导出图片不能跨域。。。最终还是没有用微信的接口来实现需求。

以上所述是小编给大家介绍的微信jssdk在iframe页面失效问题的解决措施,希望对大家有所帮助!

Javascript 相关文章推荐
js jquery做的图片连续滚动代码
Jan 06 Javascript
JS正则表达式获取分组内容的方法详解
Nov 15 Javascript
js实现双击图片放大单击缩小的方法
Feb 17 Javascript
jQuery下拉框的简单应用
Jun 24 Javascript
微信小程序之picker日期和时间选择器
Feb 09 Javascript
JS批量替换内容中关键词为超链接
Feb 20 Javascript
JS中关于正则的巧妙操作
Aug 31 Javascript
基于vue.js无缝滚动效果
Jan 25 Javascript
ES6下子组件调用父组件的方法(推荐)
Feb 23 Javascript
详解javascript中的变量提升和函数提升
May 24 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 jQuery
JS正则表达式常见函数与用法小结
Apr 13 Javascript
基于javascript html5实现多文件上传
Mar 03 #Javascript
编写高质量JavaScript代码的基本要点
Mar 02 #Javascript
JS获取当前脚本文件的绝对路径
Mar 02 #Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 #Javascript
浅谈JS原型对象和原型链
Mar 02 #Javascript
jquery单击事件和双击事件冲突解决方案
Mar 02 #Javascript
jQuery实现只允许输入数字和小数点的方法
Mar 02 #Javascript
You might like
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
PHP简单获取视频预览图的方法
2015/03/12 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
跟老齐学Python之关于循环的小伎俩
2014/10/02 Python
Python兔子毒药问题实例分析
2015/03/05 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
副总经理岗位职责
2014/03/16 职场文书
《生命 生命》教学反思
2014/04/19 职场文书
十周年庆典策划方案
2014/06/03 职场文书
超市收银员岗位职责
2015/04/07 职场文书
行政复议决定书
2015/06/24 职场文书
社区安全温馨提示语
2015/07/14 职场文书
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python