【问题标题】:Can I create a javascript file that works both HTTP and HTTPS我可以创建一个同时适用于 HTTP 和 HTTPS 的 javascript 文件吗
【发布时间】:2017-07-23 21:09:35
【问题描述】:

我还没有找到正确答案。我有一个脚本,我们称它为http://www.example.com/testing.js,我在几个提供 HTTP 服务的站点上使用了它。现在我有两个使用 HTTPS 服务的新站点,当我添加文件 <script src="http://www.example.com/testing.js"></script> 时,出现以下错误

Mixed Content: The page at 'https://location.mysite.com/my-account' was loaded over HTTPS, but requested an insecure script 'http://www.example.com/testing.js'. 

此请求已被阻止;内容必须通过 HTTPS 提供。

我想在HTTPSHTTP 上使用相同的文件,我需要更改或添加到我的javascript 中以同时为它们提供服务吗?

【问题讨论】:

  • 你无法解决这个问题。这取决于浏览器,您无法控制
  • 您需要为提供文件的 url 添加一个 ssl。

标签: javascript php html http https


【解决方案1】:

你应该像这样调用文件:

<script src="//www.example.com/testing.js"></script>

它会根据页面的协议自动选择协议。 这就是我给出的代码中没有协议的原因。

但请记住 这仅在您的域 www.example.com 也可以通过 https:// 提供服务时才有效,即支持 SSL

【讨论】:

    【解决方案2】:

    你应该使用:

    <script src="https://www.example.com/testing.js"></script>
    

    从 https 网页它会加载 https 版本,从 http 网页它也会加载 https 版本,它会被阻止(阻止它从 https 加载 http javascript网页)。

    该解决方案有效,但不是最好的:

    <script src="//www.example.com/testing.js"></script>
    

    从 https 网页加载 https 版本,从 http 网页加载 http 版本。

    这不是最好的,因为它的安全性较低,并且它会迫使您在托管 javascript 的服务器上允许 http 和 https(或获得 301 惩罚)。

    请注意,您应该考虑将您的 http 网站迁移到 https,现在是 2017 年...

    【讨论】:

      猜你喜欢
      • 2013-08-13
      • 2019-03-06
      • 2019-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      相关资源
      最近更新 更多