即使当parseXml
为定义为时,我也会收到此奇怪错误。该代码的作品fine in Chrome
但不在Firefox
。ReferenceError:function parseXml在Firefox中未定义
$(document).on("pageinit", "#map-page", function() {
var defaultLatLng = new google.maps.LatLng(56.8517843, 14.828458); // Default somewhere to Växjö when no geolocation support
if (navigator.geolocation) {
var stations = [];
$.ajax({
type: "GET",
url: "busstations.xml",
dataType: "xml",
success: parseXml
});
function parseXml(xml) {
$(xml).find('station').each(function() {
var name = $(this).find("name").text();
var localurl = $(this).find("localurl").text();
var latitude = $(this).find("latitude").text();
var longitude = $(this).find("longitude").text();
navigator.geolocation.getCurrentPosition(success, fail, {
maximumAge: 500000,
enableHighAccuracy: true,
timeout: 6000
});
function success(pos) {
currentLatitude = pos.coords.latitude;
currentLongitude = pos.coords.longitude;
console.log(pos.coords.latitude + " " + pos.coords.longitude);
}
function fail(error) {
alert("No GL support!");
}
stations.push({
"name": name,
"localurl": localurl
});
console.log(JSON.stringify(stations));
});
}
}
});
但是,如果我删除3号线的如果(navigator.geolocation)检查条件,那么它也在Firefox工作正常,也没有这样的不确定ReferenceError
。
另外,如果我把parseXml
功能这里面如果(navigator.geolocation)校验条件,代码工作正常。不知道是什么导致Firefox
的问题。
什么是错误和哪一行? – akonsu
如果我打F12并在Fx20X中输入alert(navigator.geolocation),我得到一个地理定位对象 – mplungjan
我改变了标题......它显然说:ReferenceError:parseXml没有定义 成功:parseXml – SASM