gpt4 book ai didi

javascript - window.onload 工作,但 Chrome 控制台显示 : Uncaught TypeError: window. onload 不是函数

转载 作者:数据小太阳 更新时间:2023-10-29 06:01:28 25 4
gpt4 key购买 nike

我想在页面加载时运行 getLocation() 方法。我添加了:window.onload(getLocation()); 并按照我的意愿调用了该函数,但 Chrome 控制台显示:

 Uncaught TypeError: window.onload is not a function(anonymous function) @ (index):116

window.onload(getLocation()); View 位于底部:

@{
ViewBag.Title = "Home Page";
}


<div id="demo"></div>
<h2>Gecoding Demo JavaScript: </h2>
<div id="map" style="height: 253px ; width: 253px" />


@section Scripts {
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
var position = navigator.geolocation.getCurrentPosition(showPosition);

} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
InitializeMap(position)
}
var map;
var geocoder;
function InitializeMap(position) {

alert(position.coords.latitude+"");
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var myOptions =
{
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true
};
map = new google.maps.Map(document.getElementById("map"), myOptions);
}

window.onload(getLocation());
</script>
}

最佳答案

按照您编写代码的方式,它没有运行 onload,它只是在解析器命中它时运行。因为您编写了 getLocation() 而不仅仅是 getLocation,所以它会执行函数。

如果您确定加载时不会触发其他任何内容,您可以执行 window.onload=getLocation;。如果你想确保你与其他可能使用加载事件的代码(包括第三方框架/库)一起玩得很好,你可以这样做:

window.addEventListener('load', getLocation);

请注意,该代码在 IE8 中不起作用。如果您需要支持 IE8,请检查 addEventListener(),如果未找到,请检查并改用 attachEvent():

   if (window.addEventListener) {
window.addEventListener('load', getLocation);
} else if (window.attachEvent) {
window.attachEvent('onload', getLocation);
} else {
window.onload = getLocation;
}

关于javascript - window.onload 工作,但 Chrome 控制台显示 : Uncaught TypeError: window. onload 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29927638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com