2014-11-03 2 views
0

Мне нужно загрузить библиотеку карт google. Я использовал ниже функцию для этого.Как загрузить библиотеку google с помощью google.load через соединение https

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 ,

Как устранить вышеуказанную ошибку?

ответ

0

Итак, проблема в вашем случае заключается в том, что вы пытаетесь загрузить библиотеку google с использованием google.load() на зашифрованной странице SSL, тогда как библиотеки, которые вы вытаскиваете, их ссылки не являются «безопасными». Из 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 над библиотеками Google загрузки через 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> 

Надеюсь, вы начнете в правильном направлении.

Смежные вопросы