jQuery - 加载/注入远程页面DIV和jQuery脚本

时间:2009-09-14 11:46:59

标签: javascript jquery google-maps

情景

使用jQuery,我的页面有一个弹出式叠加层,其中包含使用Google地图标记的位置。

叠加层使用2页设置如下:

  • 主页面通过指向地图的文本链接打开叠加层。然后将完整的地图页面加载到叠加层中。
  • 地图页面本身包含Google的API和初始化代码,用于加载正确的地图。

实际上,叠加和地图工作正常,只需加载整个地图页面。

问题

我的问题是,我不想加载整个页面,我只想加载持有地图的特定div。

我正在使用jQuerys Ajax“加载”功能,(如下所示)加载完整的地图页面。

wrap.load(this.attr("href")) 

如果我尝试更改此内容以加载特定的DIV(如下所示),则会正确加载页面DIV内容,但未加载Google API,这意味着地图不会显示。

wrap.load(this.attr("href")+" #map_wrap") 

我尝试在打开叠加层的第一个主页面上包含Googles API和初始化代码,但是,这仍然不起作用。

我也尝试在加载的DIV中嵌入代码,再次,没有运气。

问题

有没有办法加载地图页面API脚本和DIV?

2 个答案:

答案 0 :(得分:2)

重新排列页面编码后,我解决了问题。

我将Google Maps API代码包含在打开叠加层的主页面中,然后在打开叠加层时,我需要调用Google Map initialize()函数。

问题解决了。

答案 1 :(得分:1)

只是为了完整性(如果你的答案中的其他人不太清楚),值得一提的是它不起作用,因为只需调用DIV元素,必要的Javascript语句(超出范围那个元素)没有被启动也没被召唤。

要解决它,你可以在使用load方法之前启动它们,或者像你一样,在JS文件的一般调用中启动它们。