jQuery更改iframe的src,刷新后保持更改

时间:2015-05-17 12:44:24

标签: jquery html iframe

我有一个奇怪的问题。

我有一个页面,其中包含菜单和iframe。当我单击菜单中的一个按钮时,jQuery代码会更改iframe的 src 属性。加载页面时,iframe应显示“主页”。当我点击其中一个按钮时,它应该说“内容”。这部分有效。

当我刷新页面而不是“主页”时,iframe会显示“内容”。我刷新页面的数量并不重要,它保持不变。

当我关闭页面并重新打开时,iframe会再次显示“主页”。当我点击一个按钮时,iframe再次显示“内容”,直到我关闭并再次重新打开它。

完整代码: HTML

http://pastebin.com/Xe20yK8x

完整代码jQuery:

http://pastebin.com/ZKTqG747 刷新页面时,如何将iframe重置为原始源?

编辑: 在尝试了Akash Rajbanshi提出的建议之后,我得到了两个结果:

1)在Firefox中,“主页”未显示,“内容”仍然存在。

2)在Chrome中,“主页”也未显示,但刷新后“内容”不会保留在iframe中。

我的Firefox版本:38.0.1

我的Chrome版本:42.0

操作系统:Windows 8.1(64位)

2 个答案:

答案 0 :(得分:0)

尝试在iframe src上将home.html设置为document.ready()

实施例

$(document).ready(function(){
    $('#contentIF').attr('src','Home.html');
});

答案 1 :(得分:0)

添加以下代码:

$(document).ready(function(){
   $("#contentIF").attr("src", "home.html");
});

编辑:

尝试添加此内容:

$("#contentIF").attr("src", "home.html");

在此之上:

document.getElementById('contentIF').contentWindow.location.reload();

OR 你可以用这个:

document.getElementById('contentIF').contentWindow.location.reload(true);

(从jquery中排除attr函数)

阅读此article。 正如行情: 默认情况下,reload()方法从缓存中重新加载页面,但您可以通过将forceGet参数设置为true来强制它从服务器重新加载页面:location.reload(true)

有趣的事情:D