如何使用google.load通过https连接加载谷歌库

时间:2014-11-03 03:18:46

标签: javascript google-maps google-maps-api-3

我必须加载谷歌地图库。 我使用了以下功能。

google.load("maps", "3", {other_params: "libraries=places&sensor=false", "callback": mapsLoaded });

然而,在https连接上,它在控制台中返回以下错误 [已屏蔽]“https://mydomain.com?module=Contacts&action=index”页面是通过HTTPS加载的,但是运行了来自“http://maps.googleapis.com/maps/api/js?v=3&libraries=places&sensor=false&callback=google.loader.callbacks.maps”的不安全内容:此内容也应通过HTTPS加载。

如何解决上述错误?

1 个答案:

答案 0 :(得分:0)

因此,您的案例中的问题是您尝试在google.load()加密页面上使用SSL加载Google图书馆,而您正在提取的图书馆及其链接不安全'。从official documentation开始,您可以尝试执行操作(例如,将jsapi加载到 https ):

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
//The libraries should now be loaded over https.
<script type="text/javascript">
 google.load("search", "1");
 google.load("jquery", "1.4.2");
 google.load("jqueryui", "1.7.2");
</script>

我正在检查another blog post通过http / https加载谷歌库,作者建议检查当前页面的http / https并相应地修改DOM:

<script language=”javascript” type=”text/javascript”>

 var prot =((“https:” == document.location.protocol) ? “https://” : “http://”);
 var key = “INSERT-YOUR-KEY“;
 document.write(unescape(“%3Cscript src='” + prot + “www.google.com/jsapi?key=” + key + “‘      type=’text/javascript’%3E%3C/script%3E”));

</script>

希望它能让你开始朝着正确的方向前进。