所以在这里,我正在启动一个Phonegap应用程序,并希望使用给定的库。在库代码中,它尝试使用以下形式访问某个 URL:
//img.site.com/given_img.png
一开始没有HTTP或HTTPS,所以它会很好地适应。但是当我在手机上启动该应用程序时,我看到它试图达到:
file://img.site.com/given_img.png
不是 http 或 https...但是文件协议。显然它无法加载...
有人知道如何处理这个问题吗?
提前谢谢!
据我所知,在研究了一段时间之后......目前没有开箱即用的解决方案。您必须使用 JS 检查代码,并在执行之前强制将所需的协议添加到其中。我只是改变了我想做事的方式,避免了这种情况。
拥有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"
一样跳转