【问题标题】:Cordova plugins stop working when loading another html fileCordova 插件在加载另一个 html 文件时停止工作
【发布时间】:2014-06-12 09:19:44
【问题描述】:

是的,我研究了整个 stackoverflow,但找不到解决问题的(可行的)解决方案。

我使用 Cordova 3.5.0-0.2.1 制作了一个应用程序(游戏)。我使用了几个插件,这些插件在第一页(index.html)加载时加载并且很好。 onDeviceReady 触发,一切正常。

但是,当我使用

window.location.href = "anotherpage.html"

所有插件都变成“undefined”。例如:

  • 控制台
  • window.plugins.AdMob(完美运行并安装广告,顺便说一句,但以后无法访问)
  • navigator.notification
  • window.plugins.socialsharing

但是使用的插件并不重要 - 当新页面加载时,EVERYTHING 变为 undefined,这意味着插件丢失了。

所以我不能在应用程序的后续页面中使用插件。这发生在任何经过​​测试的设备上的 Android 和 iOS 上。可以在 XCode 日志输出中查看的有关消息是“Resetting plugins due to page load”。我搜索了与此消息相关的所有 stackoverflow 资源,但发现与此问题无关(除了一个与 IFRAME 负载有关的资源,它也无济于事)。

当我在 Cordova 应用程序中加载另一个 html 文件时,谁能帮助我让我的插件再次工作?

提前致谢!

达沃

【问题讨论】:

  • 尝试使用document.location 而不是window.location.href 确保将cordova.js 放入每个html 文件中

标签: javascript android ios cordova plugins


【解决方案1】:

您必须在每个 html 文档中继承 cordova.js 文件。

【讨论】:

  • 其实 brauchle_andi 是对的。我发现cordova.js在构建完成后会改变它的位置——它是根目录,而不是js文件夹。非常感谢这指出了问题所在!
猜你喜欢
  • 2017-11-14
  • 2017-08-02
  • 2021-08-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-04
  • 1970-01-01
  • 1970-01-01
  • 2013-10-07
相关资源
最近更新 更多