我们正在使用谷歌地图,并希望将我们的流量保持在最低限度。目前,我们有一个<li>
元素,其中包含href
生成的maps.google.com网址。该链接可以根据设备的方向而改变 - 相同的地图地址,但我们使用调整大小的地图来适当地适应屏幕。
我们正在存储纵向和横向Google地图的<href>
值,以避免每次重定向设备时重新生成它们。然后,在每次方向更改时,我们使用jQuery翻转<li>
的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,这就是我们所追求的,但我想知道这是由于浏览器缓存还是jqm中.html
函数的性质?我认为交换该元素中的html值会触发对maps.google.com地址的调用。如果没有,或者我们是否幸运使用浏览器缓存?
答案 0 :(得分:1)
目前还不清楚你在portraitMapHref和landscapeMapHref中存储了什么,但我想你存储节点。
在这种情况下,当您使用$.html()
时,新内容将替换当前内容,但旧内容(节点)将不会被删除,它仍然是一个节点,无论它是否附加到DOM或不。
重复使用替换节点时无需加载任何内容。