2016-08-12 58 views
0

今天我在Firefox中發現的錯誤爲什麼阻止加載混合活動內容?

Blocked loading mixed active content "http://ip-api.com/json/?callback=jQuery2240797948164524662_1471014635124&_=1471014635125"

這裏是我的代碼

function getCurrentWeather(){ 
    $.getJSON("http://ip-api.com/json/?callback=?", function(data) { 
     var lat=data["lat"]; 
     var lon=data["lon"]; 
     updateWeatherDisplay(lat,lon);   
     updateAddress(data["city"],", "+data["region"]); 
    }); 
} 

但這裏是其它代碼,使相當於查詢到的API - 沒有錯誤!:

function getLocation() { 
    $.get('http://ip-api.com/json', function(loc) { 
     $('#location').text(loc.city + ', ' + loc.region + ', ' + loc.country); 
     getWeather(loc.lat, loc.lon, loc.countryCode); 
    }) 
    .fail(function(err) { 
     getWeather(); 
    }); 
} 

兩個實例運行在https://codepen IO。

我已經知道我應該使用https://來調用api。 但我很好奇,爲什麼第二個例子中沒有錯誤?

+1

的可能的複製[爲什麼我突然得到一個「在Firefox阻止加載混合活動內容」問題?](http://stackoverflow.com/questions/18251128/why-am-i-suddenly-getting-a-blocked-loading-mixed-active-content-issue-in -fire) – Liam

+0

[因爲從不受信任的第三方加載內容時存在安全漏洞](https://www.owasp.org/index.php/Cross- site_Scripting_(XSS)) – Liam

+0

我把這裏的鏈​​接不在問題中。我的越野車示例 - https://codepen.io/pbweb/pen/GqGYag?editors=1010。和工作之一 - http://codepen.io/l-emi/pen/OXBwxL – kurumkan

回答

1

其因https://codepen/是使用安全HTTPS協議)和http://ip-api.com使用不安全(HTTP協議)。

ip-api.com目前還不支持HTTPS,如果支持HTTPS,你可以使用安全HTTPS協議https://ip-api.com

function getCurrentWeather(){ 
    $.getJSON("https://ip-api.com/json/?callback=?", function(data) { 
    var lat=data["lat"]; 
    var lon=data["lon"]; 
    updateWeatherDisplay(lat,lon);   
    updateAddress(data["city"],", "+data["region"]); 
    }); 
} 
相關問題