Html 谷歌地图和一些样式需要多次刷新浏览器
我在我的网站上实现了谷歌地图,它发生了一些奇怪的事情。有时,当我加载页面时,地图不会显示,但如果我刷新它,它会显示。但有时在它出现之前需要刷新几次,有些样式似乎会出现,在我第一次加载页面时,有些样式没有应用,但当我加载时,一切看起来都很好 我不知道我应该检查什么。我的老板刚刚让我检查调试,我不知道他是什么意思 这是我的头版:Html 谷歌地图和一些样式需要多次刷新浏览器,html,google-maps-api-3,Html,Google Maps Api 3,我在我的网站上实现了谷歌地图,它发生了一些奇怪的事情。有时,当我加载页面时,地图不会显示,但如果我刷新它,它会显示。但有时在它出现之前需要刷新几次,有些样式似乎会出现,在我第一次加载页面时,有些样式没有应用,但当我加载时,一切看起来都很好 我不知道我应该检查什么。我的老板刚刚让我检查调试,我不知道他是什么意思 这是我的头版: <!DOCTYPE html> <html> <head> <title>Decorum Wines</t
<!DOCTYPE html>
<html>
<head>
<title>Decorum Wines</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
<link href="css/bootstrap-theme.min.css" rel="stylesheet" type="text/css"/>
<link href="css/decorumStyles.css" rel="stylesheet" type="text/css"/>
<link href="css/decorumStyles_custom.css" rel="stylesheet" type="text/css"/>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
<link href="css/pager.css" rel="stylesheet" type="text/css"/>
<script async src="https://maps.googleapis.com/maps/api/js?sensor=false&callback=initialize"></script>
<script>
var google;
function initialize() {
var myLatlng = new google.maps.LatLng(51.5235958, -0.219394, 17);
var mapProp = {
zoom: 15,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'hello world'
});
}
google.maps.event.addDomListener(window, "load", initialize());
</script>
</head>
<body>
礼仪酒
var谷歌;
函数初始化(){
var mylatng=new google.maps.LatLng(51.5235958,-0.219394,17);
var mapProp={
缩放:15,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“googleMap”),mapProp);
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“你好,世界”
});
}
google.maps.event.addDomListener(窗口“加载”,初始化());
这是我最下面的部分:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script src="js/toggleBrowse.js" type="text/javascript"></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "home.php";
document.body.appendChild(element);
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
</body>
</html>
//添加脚本元素作为主体的子元素
函数downloadJSAtOnload(){
var元素=document.createElement(“脚本”);
element.src=“home.php”;
document.body.appendChild(元素);
}
//检查浏览器是否支持事件处理功能
if(window.addEventListener)
addEventListener(“加载”,downloadJSAtOnload,false);
else if(窗口附件)
window.attachEvent(“onload”,downloadJSAtOnload);
else window.onload=下载jsatonload;
我已经查看了我的外部文件的顺序,但是我认为这是可以的,但是,它肯定不是100%正常工作的,因为正如我所解释的,它的行为有点奇怪
欢迎任何意见
谢谢大家!
google.maps.event.addDomListener(window, "load", initialize());
异步加载maps API时,将自动调用初始化
(因为您将其用作回调
-参数)。此外,在执行此行时,google.maps.event
可能还不可用initialize
中创建的映射执行什么操作,您应该在initialize
的末尾加载此脚本
<script>
function initialize() {
var myLatlng = new google.maps.LatLng(51.5235958, -0.219394);
var mapProp = {
zoom: 15,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'hello world'
});
downloadJSAtOnload();
}
</script>
调试——意味着打开浏览器控制台检查错误——感谢您的回答!!虽然我仍然有同样的问题,但它在firefox、chrome和safari中绝对可以正常工作,但在explorer中却不行…:在任何版本中都有!此页面是否联机(您可以共享链接)?
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;