停用Google地图用户代理检查

时间:2017-08-10 17:27:46

标签: javascript google-maps-api-3 twebbrowser

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

我在嵌入式网页浏览器控件中显示地图。默认情况下,控件在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模式呈现,但它仍然使用此用户代理:

  

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 个答案:

答案 0 :(得分:1)

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

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

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