Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript colorbox弹出窗口无法从ie7中的内联div加载google地图_Javascript_Jquery_Google Maps_Internet Explorer 7_Colorbox - Fatal编程技术网

Javascript colorbox弹出窗口无法从ie7中的内联div加载google地图

Javascript colorbox弹出窗口无法从ie7中的内联div加载google地图,javascript,jquery,google-maps,internet-explorer-7,colorbox,Javascript,Jquery,Google Maps,Internet Explorer 7,Colorbox,以下代码在所有版本的现代浏览器中以内嵌div到colorbox弹出窗口的形式加载GoogleMap,但它无法在像ie7这样的过期浏览器中加载地图 <head> <script src="http://maps.googleapis.com/maps/api/js?key=/////////;sensor=false"></script> <script> var myCenter=new google.maps.LatLng(xxxxxxxx,yy

以下代码在所有版本的现代浏览器中以内嵌div到colorbox弹出窗口的形式加载GoogleMap,但它无法在像ie7这样的过期浏览器中加载地图

<head>
<script src="http://maps.googleapis.com/maps/api/js?key=/////////;sensor=false"></script>
<script>
var myCenter=new google.maps.LatLng(xxxxxxxx,yyyyyyy);

function initialize()
{
var mapProp = {
  center:new google.maps.LatLng(xxxxxxxx,yyyyyyy),
    zoom:10,
  mapTypeId: google.maps.MapTypeId.ROADMAP
  };

var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);

var marker=new google.maps.Marker({
  position:myCenter,
  });

marker.setMap(map);

var infowindow = new google.maps.InfoWindow({
  content:"hello world
  });

infowindow.open(map,marker);
}
//google.maps.event.addDomListener(window, 'load', initialize);
</script>

<script type="text/javascript">
jQuery(document).ready(function($){
$(".inline").colorbox({
  inline:true,
  href:"#googleMap",
  fixed:true,
  onComplete: function(){
     initialize();

  }
    });
});
</script>

</head>
你知道为什么会这样,怎么解决吗


谢谢,

IE在对象文本方面很挑剔。请尝试删除逗号:

var marker=new google.maps.Marker({
    position:myCenter,
             //here  ^
Alsp,此处缺少双引号:

var infowindow = new google.maps.InfoWindow({
    content:"hello world
应该是

content:"hello world"

我的建议是不要使用内联属性(旧IE难以在DOM中移动某些类型的内容),而是尝试使用html属性。然后使用onComplete初始化脚本:

$(".inline").colorbox({
  html:$('#googleMap').clone().attr('id', 'popupMap'),
  fixed:true,
  onComplete: initialize
});

您需要将initialize()编辑为目标为#popupMap而不是#googleMap。另一种选择是将其放在iframe中。

“hello world
是一个打字错误。我尝试了
位置:myCenter,
没有逗号,然后把我的问题发布到这里。ie7无法从inline div获取地图内容还有其他原因吗?顺便说一句,除了GoogleMap之外,ie7中的所有其他内联内容都可以使用该代码。谢谢,@SilentPond因为你没有太多的代码,最简单的修复方法可能是使用ie7中的代码,然后逐个添加其他内容。不应该有太多的工作。我解决了这个问题。我只需在
jQuery
调用函数中定义像素级的高度和宽度,并将
更改为
。谢谢,不幸的是,当我向jQuery调用函数添加html选项并相应地更改其他相关代码时,GoogleMap并没有在colorbox中打开。我在问题中发布的代码块在
ie7
中运行得非常好,正如我在前面的评论中提到的那样,我对这些代码块进行了修改。是的,colorbox iframe对于google map iframe代码来说是绝对好的,而且没有任何麻烦。谢谢
content:"hello world"
$(".inline").colorbox({
  html:$('#googleMap').clone().attr('id', 'popupMap'),
  fixed:true,
  onComplete: initialize
});