javascript - PhoneGap 相关协议(protocol)问题

标签 javascript android cordova phonegap-build

我有一些用于 API (SoundCloud) 的 Javascript,我将其远程加载到我的 PhoneGap 应用程序中,并且使用相关协议(protocol)的任何 Assets 都存在明显的问题,因为 PhoneGap 将使用 file://

因此,对于任何指向相关协议(protocol)的 Assets ,例如 //foo.bar/api.js,PhoneGap 应用程序将尝试获取 file://foo.bar/api.js 当然不存在。

我无权编辑与 API 相关的 Assets 。我该如何解决这个问题?

最佳答案

最简单的方法可能是只下载 sdk,对其进行编辑(如添加协议(protocol)),然后随您的应用一起交付。

据我所知,您不能只更改 location.protocol 属性来使其正常工作,否则其他所有内容都将变得很棘手,因此您应该真正坚持第一个解决方案。

但是,您可以获取所有“脚本”标签,遍历它们并检查 src。如果 src 以“//”开头,您只需使用 "http://"+ element.src 创建一个新的脚本节点即可正确加载它。你很可能需要在有一点超时的情况下运行它,这会大大减慢整个应用程序的速度,如果我的一个同事会做类似的事情,我可能会打他,但你知道,它会起作用;)

关于javascript - PhoneGap 相关协议(protocol)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28320640/

相关文章:

android - 如何检查Android应用程序中依赖项的大小?

flash - 尽管缺乏对 android 的 flash 支持,如何让 opentok + flash 在 phonegap 上运行?

android - 在 Android 中实现 Material Design 菜单的最佳方式是什么?

iphone - 应用商店更新后本地存储清除?

javascript - 即使在添加控制台插件后,console.log 在 iOS Phonegap App 中也不起作用

javascript - 如何自动调用System或AMD模块?

Javascript 监听器捕获当前加载资源的 URL

javascript - 在 Jestjs 中替代 spyOn().and.callfake

javascript - 使用通配符选择自定义值

android - 如果缓存了密码,则避免在启动时进行登录 Activity