0

我们正在使用谷歌地图,并希望将访问该站点的流量保持在最低限度。目前,我们有一个<li>包含href生成 maps.google.com URL 的元素。该链接可以根据设备的方向改变——相同的地图地址,但我们使用调整大小的地图来适当地适应屏幕。

我们正在存储纵向和横向谷歌地图的<href>值,以防止每次设备重新定向时重新生成它们。<li>然后,在每次方向更改时,我们使用 jQuery翻转html 属性,如下所示:

//on an orientation change...
if (window.orientation == "portrait") {
   $(#mapLi).html(portraitMapHref);
}
else {
   $(#mapLi).html(landscapeMapHref);
}

google API 在页面加载时为我们生成hrefs和嵌入<img>标签,并且在第一次发生方向更改时。这当然会导致与 maps.google.com 的连接。

.html当我们使用带有缓存的函数来回交换时,hrefs似乎没有同时调用 maps.google.com,这就是我们所追求的,但我想知道这是由于浏览器缓存还是性质.htmljqm中的功能?我认为交换该元素中的 html 值会触发对 maps.google.com 地址的调用。不应该,还是我们对浏览器缓存很幸运?

4

1 回答 1

1

目前尚不清楚您在 PortraitMapHref 和 LandscapeMapHref 中究竟存储了什么,但我猜您存储节点。

在这种情况下,当你使用 时$.html(),新的内容将替换当前的内容,但旧的内容(节点)不会被删除,它仍然是一个节点,不管它是否附加到 DOM 上。

当您重新使用被替换的节点时,没有什么可加载的。

于 2012-10-27T00:22:50.703 回答