禁用谷歌地图用户代理检查



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

我在嵌入式 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>

如果元标记位于顶部,页面将以 IE 11 模式呈现,但仍使用以下用户代理:

用户代理:Mozilla/4.0(兼容;微星 7.0;视窗NT 10.0;哇64;三叉戟/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729;信息路径.3(

我可以覆盖发送的HTTP User-Agent,但我不能更改JavaScriptnavigator.userAgent属性。有没有办法在不完全禁用警告的情况下禁用谷歌的检查?

对于有类似问题的任何人,您可以像这样隐藏页面上的所有警告:

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

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

最新更新