访问iframe中的phonegap

时间:2013-08-18 10:51:38

标签: cordova phonegap-build

我在PhoneGap和PhoneGap Build中使用iframe进行构建。是否可以访问PhoneGap功能,例如iframe里面的相机功能?

谢谢!

2 个答案:

答案 0 :(得分:2)

是的,很有可能。

您的问题是由主窗口和iframe窗口之间的冲突引起的。

请参阅此链接: https://github.com/phonegap/phonegap/wiki/iFrame-Usage

我已经使用cordova插件联系android成功实现了这个。

为了实现这一目标,您需要执行以下操作:

  1. 使用 postMessage 在父窗口和子/ iframe之间创建通信。父母和孩子互相倾听。
  2. 从child / iframe发送/触发消息给父母以调用cordova插件。
  3. 父窗口调用cordova插件。
  4. 父窗口中创建全局函数,从 cordova code / side (Android中的Java)调用。
  5. 找出cordova中的java文件(调用回调函数并解析结果)。 线索:callbackContext.success(参数); 。从这里开始,我们需要调用在父窗口中创建的全局函数
  6. 从cordova的java文件中调用在父窗口中创建的全局函数。以下是从java代码调用js代码的片段:
  7.   

    <强> your_web_view .loadUrl(&#34;的javascript:的函数名(适用的 parameter_result_from_cordova )&#34);

    1. 使用postMessage将父母获取的邮件发送回iframe / child。
    2. 这应该有效。如果您发现任何问题,请告诉我。

答案 1 :(得分:1)

  • 历史不会按照应有的方式运作。 history.back()和 history.forward()不起作用,我们必须破解它(有历史 使其有效(sorta)。我们能够绕过它 将usePolling属性设置为true。

  • 主窗口和iframe窗口之间的冲突 一切(网址,活动等)

  • 关于选择文字的能力存在问题 iframe内容;我相信Anis找到了解决方案/解决方法。

  • 无法使用XmlHttpRequests设置文档数据(它与之混淆 CSS / js等)。

继续阅读:https://github.com/phonegap/phonegap/wiki/iFrame-Usage