在 iPad 的 PhoneGap 应用程序中,我有一个 iFrame,它显示存储在在线数据库中的数据。在进一步的步骤中,我通过 JSON 下载此数据并在应用程序中对其进行编辑。完成后,我返回 iFrame 但它仍然显示旧数据。使用 JSON,我得到了新的正确数据。
...简而言之,应用程序缓存了 iFrame 的内容
我尝试了一切来防止缓存,包括页面中常见的元标记内容
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
并使用时间戳作为获取参数调用页面。我什至尝试通过 JavaScript 重新渲染整个 iFrame,但它仍然不起作用。
function loadFrame() {
var cid = localStorage.getItem("cid");
var ts = new Date().getTime();
var url = pageURL+"?c=" +cid + "×tamp=" + ts;
localStorage.removeItem("cid");
ifid = "iframe_" + ts;
$("#iframe_wrap").html('<iframe name="iframe" id="'+ifid+'" src="'+url+'" class="fullscreen"></iframe>');
$("#"+ifid).hide();
$("#"+ifid).one("load",onLoad);
console.log("URL in iFrame '#"+ifid+"': "+url);
}
只有当我重新启动应用程序时,我才能获得新页面
有没有办法解决这个问题?