无法在 phonegap 应用程序的 iframe 中查看/更改输入字段

Posted

技术标签:

【中文标题】无法在 phonegap 应用程序的 iframe 中查看/更改输入字段【英文标题】:Can't view/change input field in iframe on phonegap app 【发布时间】:2016-08-18 17:13:12 【问题描述】:

所以情况就是这样。我在基于 PhoneGap/Cordova 构建的移动应用程序中使用了名为 PandaDoc 的第三方数字文档签名服务,当尝试通过移动应用程序执行此操作时,我无法更改任何输入文本类型字段iPhone(尚未测试 android)。

以下是我注意到的一些事情:

1) 在 Chrome(在我的笔记本电脑上)或手机上的 Chrome 浏览器中在线查看时,一切正常。

2) 唯一不能在移动设备上运行的表单元素是输入(类型=文本)元素。复选框有效,下拉菜单有效等...

3) 我对 Angular.js 了解不多,但我可以看出这个第三方应用程序是基于它构建的。当我检查并比较移动版和网页版时,我注意到在移动版上,输入字段有这两个指令:

ng-pristine and ng-touched

根据我对这些的研究,它们似乎是相互排斥的,所以不确定这会如何影响事情。网页版还有:

ng-dirty and ng-valid-parse

手机版都没有。

我知道最好在这里发布一些代码,但我不知道从哪里开始。在我的应用中,只有一个简单的嵌入脚本可以将 PandaDoc 放入 iFrame。

如果您想查看此应用的移动测试版,您可以在http://dev.velexo.com/m2查看它我有一个用户名为“mobile2”的测试用户,密码是“pass”。不幸的是,没有简单的方法可以发送这个的 iphone 应用程序版本,这就是问题所在。

哦,还有,当你登录应用程序时,点击 W9 Information 按钮,然后点击 Enter Your W9 按钮,这就是 pandadoc 的内容

还应该提到我在应用程序中使用 JQuery Mobile。

欢迎任何建议/指导,即使只是猜测。

【问题讨论】:

您使用的是哪个版本的 ios?键盘打开了吗? 现在是 9.3.4 版,键盘确实打开了。我开始认为这是第三方应用程序中的问题,因为还有其他问题。例如,有时当我点击一个输入字段来更新它时,它会随机跳转到另一个输入字段 【参考方案1】:

只是在这里查看我的旧问题。我提出的实际问题的答案是,除非由于跨域策略限制,域和端口都匹配,否则您不能从父框架更改 iFrame 中的任何内容。

据我所知,没有办法解决这个问题。

我的特定问题的解决方案是完全摆脱 PandaDoc,因为它不是为在移动设备上使用而设计的。最后,我编写了自己的 javascript 来创建签名并传递到后端,在那里我使用 php pdf 生成库来构建最终文档。

【讨论】:

以上是关于无法在 phonegap 应用程序的 iframe 中查看/更改输入字段的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap / Cordova ios外部链接iframe无法在safari中打开

在 phonegap 应用程序中使用 iframe

Iframe 的 Phonegap/Iphone 问题

Cordova (PhoneGap) 和 iFrame

iOS PhoneGap。防止 iFrame 缓存

在 iOS 应用上的子 iFrame 和 PhoneGap 应用之间调用方法并传递参数