使用在iFrame中运行的Javascript进行通信

使用在iFrame中运行的Javascript进行通信,javascript,cordova,iframe,same-origin-policy,Javascript,Cordova,Iframe,Same Origin Policy,我目前正在开发一个应用程序,它使用Phonegap/Cordova框架来显示网站的在线和离线版本。如果您不熟悉这个框架,那么它提供了一种通过在全屏webview中显示本地文件来创建多平台应用程序的简单方法 启动应用程序时,集成在应用程序本地文件中的Javascript会检测是否可以访问Internet(如果可用),并将用户重定向到另一个本地网页,该网页包含实时网站的全屏iFrame,或网站的简化脱机版本(包含在应用程序的本地文件中)如果未检测到Internet连接 我想检测用户何时使用网站上的各

我目前正在开发一个应用程序,它使用Phonegap/Cordova框架来显示网站的在线和离线版本。如果您不熟悉这个框架,那么它提供了一种通过在全屏webview中显示本地文件来创建多平台应用程序的简单方法

启动应用程序时,集成在应用程序本地文件中的Javascript会检测是否可以访问Internet(如果可用),并将用户重定向到另一个本地网页,该网页包含实时网站的全屏iFrame,或网站的简化脱机版本(包含在应用程序的本地文件中)如果未检测到Internet连接

我想检测用户何时使用网站上的各种表单(显示在iFrame中)登录,但我无法知道用户在哪个页面上,或与网站内容进行交互,因为同一来源策略

但是,是否有可能使本地页面(包含iFrame)的Javascript与远程页面(显示在iFrame中)的Javascript交互?通过这种方式,我将能够获得登录信息,并将其保存以供以后使用(显然不是使用代币系统的w/o),但它也将有助于实现另一个计划的功能(触发导航系统)


谢谢。

看看HTML5通信,它非常简单,听起来很适合你的需要


看看HTML5通信,它非常简单,听起来很适合你的需要


您试过这个吗?如果它实际上是同一个原点,那么它应该与标准页面没有什么不同。不确定您是否能够调用函数,因为我从未尝试过。@Adjit是的,我尝试过。它的来源完全不同,这就是为什么我无法从本地页面访问iFrame的URL或内容。谢谢你的回答。如果它不是同一来源,我认为这是不可能的。如果你控制iframed页面的JS,那么使用
top.postMessage
推送事件/数据。你试过吗?如果它实际上是同一个原点,那么它应该与标准页面没有什么不同。不确定您是否能够调用函数,因为我从未尝试过。@Adjit是的,我尝试过。它的来源完全不同,这就是为什么我无法从本地页面访问iFrame的URL或内容。谢谢你的回答。如果它不是同一个来源,我认为这是不可能的。如果你控制iframed页面的JS,然后使用
top.postMessage
推送事件/数据谢谢,我现在就去看看,并报告结果。@NeatMonster顺便说一句,h5通信在整个来源都有效谢谢,我现在就要看一看,然后报告结果。@NeatMonster顺便说一句,h5的通讯是跨来源的