cordova_iFrame中调用拍照功能无法获取返回值

版权声明:本博客主要记录学习笔记和遇到的一些问题解决方案,转载请注明出处! https://blog.csdn.net/u010982507/article/details/82818439
  • 问题描述
    今天写了一个测试程序,在index.html中嵌入一个iFrame,并在iFrame中加载一个sub.html子页面,然后在sub.html中调用cordova的拍照方法,拍照方法能调用成功,但是无法获取到拍照回调的值。
  • 调试过程
    一开始以为是cordova源码中处理url的问题,后来发现应该是IFrame父子窗口传值问题。
  • 解决方案
    1、在父页面封装一个调用cordova拍照API的函数。
function takePhoto(callback) {
	// 这里调用拍照方法,拍完照。获取到照片路径imagePath,然后通过回调callback传出去
	callback(imagePath);
}

2、在iFrame中的子页面调用父页面拍照方法

window.parent.takePhoto(function(imagePath) {
	img.src = imagePath; // 在dom上显示图片
});

猜你喜欢

转载自blog.csdn.net/u010982507/article/details/82818439