我已经构建了一个PhoneGap应用程序,该应用程序使用了与该应用程序捆绑在一起的iframe,并且我正在尝试将电子消息从iframe传递给在运行该应用程序时似乎不起作用的父级实际的iPad;但是,当我在同一设备上的浏览器中运行该应用程序时,它运行良好.
这是我在iframe中用于发送消息的代码,请注意,我正在使用HammerJS捕获一些事件:
var domain = 'http://' + document.domain;
$('body').hammer().on("swipe", "", function(event) {
var message = event.gesture.direction;
parent.postMessage(message,domain); //send the message and target URI
});
以及我用来获取消息的代码:
window.addEventListener('message',function(event) {
alert(event.data);
},false);
解决方法:
答案是使用“ file://”作为域名,因此代码如下所示:
var domain = 'file://';
$('body').hammer().on("swipe", "", function(event) {
var message = event.gesture.direction;
parent.postMessage(message,domain); //send the message and target URI
});