【发布时间】:2016-07-02 23:32:39
【问题描述】:
我目前正在开发一个使用 Phonegap/Cordova 框架来显示网站的在线和离线版本的应用程序。如果您不熟悉此框架,它提供了一种通过在全屏 Web 视图中显示本地文件来创建多平台应用程序的简单方法。
在启动应用程序时,集成在应用程序本地文件中的 Javascript 会检测是否可以访问 Internet,并将用户重定向到另一个本地网页,其中包含实时网站的全屏 iFrame,或减少的离线版本如果未检测到 Internet 连接,则访问网站(包含在应用程序的本地文件中)。
我想检测用户何时使用网站上的各种表单(显示在 iFrame 内)登录,但我无法知道用户在哪个页面上,或与网站内容交互都是因为同源政策。
是否可以让本地页面(包含 iFrame)的 Javascript 与远程页面(显示在 iFrame 中)的 Javascript 交互?这样,我将能够获取登录信息,并将其保存以备后用(显然不使用令牌系统),而且它还有助于另一个计划的功能(触发引导系统)。
谢谢。
【问题讨论】:
-
你试过了吗?如果它实际上是相同的来源,则应该与标准页面没有什么不同。不确定您是否也可以调用函数,因为我从未尝试过。
-
@Adjit 是的,我试过了。这正是不同的来源,这就是为什么我无法从本地页面访问 URL 或 iFrame 的内容。谢谢你的回答。
-
好吧,如果不是同源,我认为这是不可能的。
-
如果你控制了iframed页面的JS,那么使用
top.postMessage推送事件/数据
标签: javascript cordova iframe same-origin-policy