禁用Google地图用户代理检查
问题描述:
从版本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的支票而不完全禁用警告?
答
对于有类似问题的人,你可以隐藏这样的网页上的所有警告:
<style type="text/css">
.infomsg { display: none; }
</style>
但我想找到一个更好的解决方案。