2011-02-25 105 views
3

是否可以通过IE Developer Tools窗口将IE6(或IE 8设置为quirks模式)加载并显示Bing Ajax版本7地图控件?Internet Explorer 6不会显示Bing Ajax v7地图

例如,尝试在怪异模式下运行IE6或IE8中的this page上的“Hello World”示例。该页面保持空白。

this blog post我知道Bing Ajax v7地图不正式支持IE6。但是,您可以使用IE6访问maps.bing.com并显示v7地图,因此它必须是可能的。

我在IE8的开发工具窗口中玩过,如果你用MS的JavaScript动态添加的MicrosoftMap类压缩div上的位置样式元素,它开始看起来更好。这让我觉得在父div和其他标签上有一些神奇的组合可以使它工作。

+0

我有同样的问题,因为你..我在升级的过程中,以7.0和我看到的网站,IE6不上在支持的浏览器部分列出..但是,实际的bing地图网站,看起来使用新的API,并在IE6中工作..我想他们增加了对自己的支持,但不是为开放版本。这是一个重大打击,因为现在我需要支持这两个版本(大约7%的访问者在ie6上)。我在小提琴手身上进行了测试,看起来图像和东西都在加载,但图像并没有放在地图上。可能有办法解决这个问题。 – 2011-03-03 20:09:23

回答

3

确保您在地图上设置了宽度和高度(均在div样式中,也在传递给地图构造函数的mapoptions中)。 无法实际测试它自己,但尝试以下方法:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
    <title></title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script> 
    <script type="text/javascript"> 
    function GetMap() { 
     var map = new Microsoft.Maps.Map(document.getElementById("mapDiv"), 
       { credentials: "BingMapsKey", 
       center: new Microsoft.Maps.Location(52.6, 1.26), 
       mapTypeId: Microsoft.Maps.MapTypeId.road, 
       zoom: 7, 
       height: 480, 
       width: 640 
       }); 
    } 
    </script> 
</head> 
<body onload="GetMap();"> 
    <div id="mapDiv" style="position:relative; width:640px; height:480px;"></div>  
</body> 
</html> 
+0

哦,是啊!这完全有效。非常感谢! – 2011-03-07 17:47:26