Phonegap / Cordova包括没有http / https的外部src

时间:2014-02-21 11:36:39

标签: android http mobile plugins cordova

所以在这里,我正在启动一个Phonegap应用程序,并希望使用给定的库。在库代码中,它尝试使用以下格式访问某个URL:

//img.site.com/given_img.png

一开始没有http或https,所以它会很好地适应。但是当我在手机上启动应用程序时,我发现它试图达到:

file://img.site.com/given_img.png

不是http或https ...但是文件协议。显然它无法加载......

任何人都知道如何处理这个问题?

提前致谢!

2 个答案:

答案 0 :(得分:0)

据我所知,经过一段时间的研究后......目前还没有开箱即用的解决方案。您必须使用JS检查代码并在执行之前强制将所需协议添加到其中。我只是改变了我想做事的方式,避免了这种情况。

答案 1 :(得分:0)

拥有src="//domain.com/some/pic"背后的想法是,浏览器会使用与您的网站匹配的协议来请求这些资产,这意味着,如果您的网站在http上运行 - 它将通过http请求图片,如果您的网站在https上投放,则会通过https://请求图片。

@Jeremy是对的,目前没有选择。 但是,您可以将与您的网站匹配的协议var protocol = window.location.protocol与您的src={{ protocol + image }}

一起使用

这是为了防止编写硬编码的http / https并将安全与您网站中的非安全内容混合在一起导致错误像"This Page Contains Both Secure and Non-Secure Items"

那样跳转