Javascript firefox中不显示google地图

Javascript firefox中不显示google地图,javascript,html,google-maps,Javascript,Html,Google Maps,它在铬合金中工作良好。但是当通过firefox加载时,GoogleMap的右侧将留空。而且似乎所有的代码功能都运行良好(SpringMVC和Jquery) 您还可以在sameplaces.heroku.com中看到该应用程序。谢谢 <html> <head> <link rel="stylesheet" href="resources/development-bundle/themes/base/jquery.ui.all.css"> <

它在铬合金中工作良好。但是当通过firefox加载时,GoogleMap的右侧将留空。而且似乎所有的代码功能都运行良好(SpringMVC和Jquery) 您还可以在sameplaces.heroku.com中看到该应用程序。谢谢

 <html>
<head>
    <link rel="stylesheet" href="resources/development-bundle/themes/base/jquery.ui.all.css">
    <script type="text/javascript" src="resources/js/jquery-1.9.1.js"></script>
    <script src="resources/development-bundle/ui/jquery.ui.core.js"></script>
    <script src="resources/development-bundle/ui/jquery.ui.widget.js"></script>
    <script src="resources/development-bundle/ui/jquery.ui.button.js"></script> 
    <link rel="stylesheet" type="text/css" href="resources/css/layout.css"/>
    <script type="text/javascript"
      src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA8_h_OaZwi_KRiDev5M8PUxhKRuKbOj1Q&sensor=true">
    </script>
    <script type="text/javascript">
      $(function(){
            $("input[type=submit],input[type=button],a,button")
                .button()
                .click(function(event){
                    event.preventDefault();
                });
      });
      var initialLocation;
      var siberia = new google.maps.LatLng(60, 105);
      var newyork = new google.maps.LatLng(40.69847032728747, -73.9514422416687);
      var browserSupportFlag =  new Boolean();
      function initialize() {
        var mapOptions = {
          zoom: 13,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map-canvas"),
            mapOptions);
        if(navigator.geolocation) {
          browserSupportFlag = true;
          navigator.geolocation.getCurrentPosition(function(position) {
          initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
          map.setCenter(initialLocation);
          }, function() {
            handleNoGeolocation(browserSupportFlag);
          });
        }
        // Browser doesn't support Geolocation
        else {
          browserSupportFlag = false;
          handleNoGeolocation(browserSupportFlag);
        }

        function handleNoGeolocation(errorFlag) {
          if (errorFlag == true) {
            alert("Geolocation service failed.");
            $(".address_search_div").show();
            initialLocation = newyork;
          } else {
              alert("Your browser doesn't support geolocation. We've placed you in Siberia.");
              initialLocation = siberia;
            }
        map.setCenter(initialLocation);
        }
      }
      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
</head>
<body>
    <table width="100%" height="100%">
        <tr>
            <td width="35%" height="100%"><t:insertAttribute name="menu"/></td>
            <td width="65%" height="100%"><t:insertAttribute name="map"/></td>
        </tr>
    </table>
</body>
</html>

$(函数(){
$(“输入[type=submit],输入[type=button],a,button”)
.按钮()
。单击(功能(事件){
event.preventDefault();
});
});
var初始位置;
var siberia=newgoogle.maps.LatLng(60105);
var newyork=newgoogle.maps.LatLng(40.69847032728747,-73.9514422416687);
var browserSupportFlag=新布尔值();
函数初始化(){
变量映射选项={
缩放:13,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“地图画布”),
地图选项);
if(导航器.地理位置){
browserSupportFlag=true;
navigator.geolocation.getCurrentPosition(函数(位置){
initialLocation=new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
地图设置中心(初始位置);
},函数(){
handleNoGeolocation(浏览器支持标志);
});
}
//浏览器不支持地理位置
否则{
browserSupportFlag=false;
handleNoGeolocation(浏览器支持标志);
}
函数handleNogeLocation(errorFlag){
if(errorFlag==true){
警报(“地理定位服务失败”);
$(“.address\u search\u div”).show();
初始位置=纽约;
}否则{
警报(“您的浏览器不支持地理定位。我们已将您放置在西伯利亚。”);
初始位置=西伯利亚;
}
地图设置中心(初始位置);
}
}
google.maps.event.addDomListener(窗口“加载”,初始化);

我让它在Chrome和FF上都能工作。我去掉了你所有的CSS和jquery,简化了一切。我只是以这种方式添加了:

    html { height: 100% }
    body { height: 100%; margin: 0; padding: 0 }
    #map-canvas { height: 100% }
铬还可以,FF报告:

Error in parsing value for 'background'. Declaration dropped.
   -webkit-linear-gradient(left, #000, #fff)
解决方案是此样式(缺少宽度):


html{高度:100%;宽度:100%}
正文{高度:100%;宽度:100%;边距:0;填充:0}
#地图画布{高度:100%;宽度:100%}
关于这个解决方案的解释在这里。注意,在后台也有相同的错误消息


所以,检查一下你的造型。代码似乎还可以。

元素
map canvas
在哪里?它在另一个名为“map.jsp”的jsp文件中,我正在使用Spring MVC+Tiles2。“map.jsp”现在很简单,只有在该页面的标题中有两个
link
标记。最后一个元素用
/>
正确关闭,第一个不是。这不是问题的原因。类为
的元素在哪里。地址\u搜索\u div
<style type="text/css">
  html { height: 100% ; width: 100%}
  body { height: 100%; width:100%; margin: 0; padding: 0 }
  #map-canvas { height: 100%; width:100% }
</style>