VBA 生成的 Ajax 7 脚本不会在我的访问 Web 浏览器控件中显示 Bing 地图

VBA generated Ajax 7 script won't display a Bing map in my access web browser control

我正在尝试根据用户在访问表单中的选择动态生成 Bing 地图 ajax 脚本。我希望能够在 Access Web 浏览器控件中显示地图。

问题是两个看起来相同的 htm 文件表现不同。

Good.htm 可以加载 access、IE、firefox 和 opera。

Auto.htm,代码生成的,opera,firefox打开,firefly没有bug,access不行。它在 IE 中打开,但弹出窗口 "Internet Explorer restricted this webpage from running scripts or ActiveX controls"。当我单击 "Allow blocked content" 按钮时,它加载正常。 它不会在访问中加载,如果我将按钮放入它们会显示,但地图不会。

我写了一个程序来检查两个文件的字符差异,有none。

我可以从 auto.htm 复制脚本并将其粘贴到 good.htm,它仍然很好。

我注意到的一件事是,windows 为 good.htm 报告的属性,奇怪的是,有 "This file came from another computer and might be blocked..."。如果我单击 "unblock",它将不再起作用。 auto.htm 没有那个限制。

我通过从 "Bing Maps V7 Interactive SDK" 复制 html 并将其粘贴到文本文件中制作了 good.htm,他们将扩展名更改为 .htm。

为了它的价值,这是脚本

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"enter code here"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
       <head>
          <title>Map view (bounds)</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">
          var map = null;


          function getMap()
          {
            var boundingBox = Microsoft.Maps.LocationRect.fromString("42.3262, -83.8191, 42.2322, -83.6713");
            map = new Microsoft.Maps.Map(document.getElementById('myMap'), 
            {credentials: 'my basic developer key', 
             bounds: boundingBox, 
             heigth: 590, 
             width: 850
            });
          }

          </script>
       </head>
       <body onload="getMap();">
          <div id='myMap' style="position:relative; width:850px; height:590px;"></div>
       </body>
    </html>

您可以尝试添加 "Mark Of the Web":

Http://msdn.microsoft.com/en-us/library/ms537628(v=vs.85).aspx