版权声明:本博客主要记录学习笔记和遇到的一些问题解决方案,转载请注明出处! 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上显示图片
});