jQuery mobile .html()函数 - 任何旧值的重用?

时间:2012-10-26 23:45:05

标签: google-maps jquery-mobile

我们正在使用谷歌地图,并希望将我们的流量保持在最低限度。目前,我们有一个<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地址的调用。如果没有,或者我们是否幸运使用浏览器缓存?

1 个答案:

答案 0 :(得分:1)

目前还不清楚你在portraitMapHref和landscapeMapHref中存储了什么,但我想你存储节点。

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

重复使用替换节点时无需加载任何内容。