【问题标题】:Phonegap / Cordova include external src without http / httpsPhonegap / Cordova 包含没有 http / https 的外部 src
【发布时间】:2014-02-21 11:36:38
【问题描述】:

就是这样,我正在启动一个 Phonegap 应用程序并希望使用给定的库。在库代码中,它尝试使用此表单访问某个 URL:

//img.site.com/given_img.png

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

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

不是 http 或 https...而是文件协议。显然加载失败...

有人知道怎么处理吗?

先谢谢了!

【问题讨论】:

    标签: android http mobile plugins cordova


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      拥有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"一样跳转

      【讨论】:

        猜你喜欢
        • 2013-10-11
        • 1970-01-01
        • 2013-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多