【问题标题】:Google maps api javascript doesn't work in mozilla谷歌地图 api javascript 在 mozilla 中不起作用
【发布时间】:2015-04-06 16:05:53
【问题描述】:

我在 google maps api 页面上找到了一个脚本,用户可以在其中选择位置并将数据发送到 PHP -> MySQL。它在 chrome 和 IE 中运行良好,但是当我尝试在 mozilla 中保存位置时,它所做的只是刷新父页面。 我对javascript几乎一无所知,所以如果有人能找到错误,将不胜感激:)

代码

<!DOCTYPE html >
    <head>
        <meta name=viewport content='initial-scale=1.0, user-scalable=no' />
        <meta http-equiv='content-type' content='text/html; charset=UTF-8'/>
        <title>Google Maps JavaScript API v3 Example: Map Simple</title>
        <script type='text/javascript' src='https://maps.googleapis.com/maps/api/js'></script>
        <script type='text/javascript'>
            var marker;
            var infowindow; 

            function initialize() {
                var latlng = new google.maps.LatLng(33.137550, -42.187500);
                var options = { 
                    zoom: 1, 
                    center: latlng, 
                    mapTypeId: google.maps.MapTypeId.ROADMAP    
                }
                var map = new google.maps.Map(document.getElementById('map-canvas'), options);
                var html = "<table><tr><td><input type='button' value='Save Location' onclick='saveData(), window.parent.location.reload();'/></td></tr></table>";
                infowindow = new google.maps.InfoWindow({
                    content: html
                });

                function addMarker(location) {
                    if (!marker) {
                        marker = new google.maps.Marker({
                            position: location,
                            map: map
                        });
                    }
                    else { marker.setPosition(location); }
                }

                google.maps.event.addListener(map, 'click', function(event) {
                    addMarker(event.latLng);
                    google.maps.event.addListener(marker, 'click', function() {
                        infowindow.open(map, marker);
                    });
                });
            }   

            function saveData() {
                var latlng = marker.getPosition();
                var url = 'insert_location.php?lat=' + latlng.lat() + '&lng=' + latlng.lng();
                downloadUrl(url, function(data, responseCode) {
                    if (responseCode == 200 && data.length >= 1) {
                        infowindow.close();
                    }
                });
            }

            function downloadUrl(url, callback) {
                var request = window.ActiveXObject ?
                    new ActiveXObject('Microsoft.XMLHTTP') :
                new XMLHttpRequest;

                request.onreadystatechange = function() {
                    if (request.readyState == 4) {
                        request.onreadystatechange = doNothing;
                        callback(request.responseText, request.status);
                    }
                };

                request.open('GET', url, true);
                request.send(null);
            }

            function doNothing() {}


        </script>
    </head> 
    <body style='margin:0px; padding:0px;' onload='initialize()'>
        <div id='map-canvas' style='width: 100%; height: 800px'></div>
        <div id='message'></div>
    </body>
</html>

【问题讨论】:

  • window.parent.location.reload 在里面做什么?

标签: javascript html google-maps google-maps-api-3 mozilla


【解决方案1】:

默认情况下,Javascript 并未关闭,但您的可能已关闭。

如果您想开启 Javascript,请执行以下操作:

  • 在地址栏中输入 about:support,然后按 Enter
  • 接受警告
  • 搜索 javascript.enabled
  • 确保该值为真。 (如果不是,请双击它)
  • 像这样的陈述——“我对javascript一无所知”对你没有帮助。在您来这里要求我们其他人为您解决问题之前,请付出一些努力和研究。

    【讨论】:

      猜你喜欢
      • 2019-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-20
      相关资源
      最近更新 更多