首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google v3.19在模式下中断

Google v3.19在模式下中断
EN

Stack Overflow用户
提问于 2015-02-18 15:26:58
回答 9查看 16K关注 0票数 8

Google的3.19版本在2015年2月17日成为默认地图的“发布版”(参见https://code.google.com/p/gmaps-api-issues/wiki/JavascriptMapsAPIv3Changelog)。该版本在使用quirks mode时似乎会在Internet中引发问题,我从受此问题影响的应用程序生成的以下测试页面(因此,这可能包含比这里需要的更多代码)就说明了这一点:

代码语言:javascript
复制
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Google Maps Test Page</title>
</head>
<body style="margin:0; padding:0">
    <!-- Adding ?v=3.18 onto the end of this URL will 'fix' the problem -->
    <script src='http://maps.googleapis.com/maps/api/js' type='text/javascript'></script>
    <script type='text/javascript'>
    function initialize() {
        top.google.maps.visualRefresh=true;
        var mapOptions = {
            zoom: 13,
            center: new google.maps.LatLng(51.5072, 0.1275),
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            scaleControl: true,
            overviewMapControl: true
        };
        this._map = new google.maps.Map(document.getElementById('myMap'), mapOptions);  
    }

    google.maps.event.addDomListener(window, 'load', initialize);
    </script>

    <div id="myMap" style="width:500px;height:500px;position:relative;"></div>
 </body>
 </html>

Firefox和Chrome都会正确显示可用的地图,而IE会在Google代码中引发一个错误,其内容是“无法获得显示属性。无效的参数”。我试过调试代码,但它很模糊,这使它成为了一个痛苦的挑战。

强制版本回到最后的“冻结”版本(3.18)暂时解决了这个问题,但这只是一个临时的解决方案。

除了向谷歌报告这个问题外,还有谁能提出解决方案,希望他们能解决这个问题吗?

附加说明:

在我写这篇文章的时候,我注意到这里的信息是https://code.google.com/p/gmaps-api-issues/wiki/JavascriptMapsAPIv3Changelog说的版本是:

代码语言:javascript
复制
Experimental: 3.20
Release: 3.19
Frozen: 3.18 

版本3.17将被删除。对3.17或任何先前版本的请求现在将被送达3.18版

虽然这个页面https://developers.google.com/maps/documentation/javascript/basics#Versioning说(在页面的底部):

代码语言:javascript
复制
Version 3.18 Reference (Release)
Version 3.19 Reference (Experimental)
Version 3.17 Reference (Frozen)
Versions 3.0 - 3.16 have been retired.

这是相当令人困惑的,但我认为Changelog链接是最新的信息来源。这种差异使我感到困惑,因此我认为值得分享这一观察结果。

更新20-2月15日:

昨天,谷歌证实这是一种缺陷--见https://code.google.com/p/gmaps-api-issues/issues/detail?id=7675 --并建议说,我们正在调查一个解决方案。

谢谢你的评论和建议,但到目前为止,我还没有找到一份能让我的应用程序充分发挥作用的工作,因为其他页面组件依赖于古怪模式,这就创造了大量的工作来让整个工作重新开始。我希望谷歌的关注能帮我解决这个问题。

更新21-2月15日:

https://code.google.com/p/gmaps-api-issues/issues/detail?id=7675现在表示“将在未来一周内部署一个修复程序。”

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2015-02-25 10:37:59

我很高兴地说,谷歌对这个问题的反应是非常积极的;他们很快将其归类为一个bug,并建议他们正在进行这方面的工作。今天,我再次进行测试,发现“怪癖”问题已经不复存在,我的应用程序也在继续运行。

我问的问题是,除了向谷歌报告这个问题之外,还能有人提出解决方案,希望他们能解决这个问题吗?我看到这个问题的应用程序(显然)在很大程度上依赖于古怪模式,因此在试图消除该依赖关系时,我看到了页面上其他组件的一些问题--即问题变得更大了。因此,谷歌解决这个问题确实是唯一对我有效的答案,我很高兴他们这样做了。

感谢大家的帮助和贡献。

票数 0
EN

Stack Overflow用户

发布于 2015-02-18 17:12:53

今天我刚继承的一个网络应用程序也发现了同样的问题。由于某些原因,以前的开发者迫使IE进入古怪(ie7)模式,google的问题从今天开始。我更新了主html页面以使用IE边缘模式,方法是将html head部分更改为

代码语言:javascript
复制
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
 <head>
    <meta http-equiv="X-UA-Compatible" content="IE=7" /> 
 .....

代码语言:javascript
复制
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
 <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
.....

(如果你错过了它的话,再加上ie-edge的元数据.(线)

到目前为止它已经修好了。

现在要找出为什么以前的开发人员强迫IE7模式..。

票数 10
EN

Stack Overflow用户

发布于 2015-02-22 21:19:22

解决了:在Win 7和XP中与IE8 (XP)、IE9 (Win7)和兼容性模式有相同的问题。我加了版本号和瞧!已修复。

http://maps.googleapis.com/maps/api/js?v=3&key=...

指定v=3强制进行稳定发布。我的旧代码没有这个版本标志被谷歌解释为我想要的实验版本,我从来不想要我的生产服务器。

FYI,我用

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28587238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档