我可以创建一个既适用于HTTP又支持HTTPS的javascript文件

时间:2017-03-03 16:44:19

标签: javascript php html http https

我无法为这个找到正确的答案。我有一个脚本,让我们称之为http://www.example.com/testing.js,我在几个HTTP服务的网站上使用它。现在我有两个新服务的网站,当我添加文件<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中以便为它们提供服务?

2 个答案:

答案 0 :(得分:6)

您应该像这样调用文件:

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

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

但要记住 这仅适用于您的域www.example.com也可以通过https://提供SSL支持

的服务

答案 1 :(得分:1)

您应该使用:

<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年......