协议相对URL方法无法在Chrome中使用

时间:2012-07-21 23:00:16

标签: http google-chrome ssl https protocol-relative

喜欢在Stackoverflow上搜索答案,但这是我的第一篇文章。希望其他人也觉得这很有用!

我有一个需要https的网站,因为它托管的是facebook应用。我设置了它(专用的IP和SSL证书)但是当我通过https访问它时,我得到以下警告:

此页面内容不安全。

我做了一些研究,发现这是一个常见的问题。修复我们的内部文件并不是什么大问题,但我们非常依赖外部资源,比如jquery库(http不是https)。我使用了Protocol Relative URL方法(不能发布链接,因为我只限于两个超链接,所以请看下面的评论),这似乎适用于很多人。但是,当我在Chrome中进行更改时,我仍会收到此警告:[已屏蔽] https://www.greetfeet.com/处的页面从http://code.jquery.com/mobile/1.1.0/jquery.mobile.structure-1.1.0.min.css运行了不安全的内容

如果我遇到这个问题,我只能假设我的客户也会这样。知道如何解决这个问题吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

Google在HTTP和HTTPS上托管常用的库(包括jQuery和jQueryUI),例如:

https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js

(尽可能使用此功能,您的用户可能已在浏览器缓存中使用此功能,从而加快网站加载速度。)

除非通过HTTPS可靠地向公众提供,否则您可能需要托管自己的其他事项。

只有当某些人通过HTTP访问您的站点并且其他人访问HTTPS时才需要协议相对URL:使资源引用“协议相对”将使人们使用他们用于检索引用的相同协议来请求资源页面本身。如果您的站点仅支持HTTPS,那么您甚至不需要使用协议相对URL,您可以在任何地方对https://进行硬编码。但它没有伤害,所以你可以使用它。

答案 1 :(得分:-1)

到JQuery的https URL?如果它不起作用,问题出在网站上,而不是在你的代码中。如果网站发送的网页包含http:URL,非亲属网页,并且您通过https访问该网页,则您将参与混合内容检索。要么不访问这些网站,要么不使用HTTPS。