2017-08-10 35 views
1

从版本3.29开始,Google Maps JavaScript API会检查浏览器的navigator.userAgent并显示兼容性警告。禁用Google地图用户代理检查

我在嵌入式Web浏览器控件中显示地图。默认情况下,控件在IE 7兼容模式下运行 - 我可以用X-UA-Compatible标签覆盖该控件。该网页看起来是这样的:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
    <style> 
     #map { 
     height: 400px; 
     width: 100%; 
     } 
    </style> 
    </head> 
    <body> 
    <div id="map"></div> 
    <script> 
     function initMap() { 
     var map = new google.maps.Map(document.getElementById('map'), {}); 
     } 
    </script> 

    <script async defer 
    src="https://maps.googleapis.com/maps/api/js?v=3.29&key=~APIKEY~&callback=initMap"> 
    </script> 
    </body> 
</html> 

在顶部的meta标签,页面呈现在IE 11的模式,但它仍然使用这个用户代理:

的User-Agent:Mozilla的/ 4.0 (兼容; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; InfoPath.3 )

我可以覆盖HTTP User-Agent发送的内容,但我无法更改JavaScript navigator.userAgent属性。有没有办法禁用Google的支票而不完全禁用警告?

回答

1

对于有类似问题的人,你可以隐藏这样的网页上的所有警告:

<style type="text/css"> 
    .infomsg { display: none; } 
</style> 

但我想找到一个更好的解决方案。