我在页面'1'上有一个iframe,它显示了我的网站中的一个单独页面'2'。
页面1包含一个在提交时运行AJAX函数的表单。这调用了一个PHP文件,该文件根据表单中输入的内容编辑第2页的特定部分
在AJAX函数的成功回调中,我在第1页上重新加载iframe,如下所示:
$.ajax({
type: "POST",
url: 'file.php',
data: "user="+ user +"&title="+ title,
success: function()
{
var frameHtml = '<iframe id="previewFrame" src="temp/' + user + '/" width="100%" height="373" scrolling="yes"><p>Your browser does not support iframes.</p></iframe>';
var liveDemoFrame = $('.liveDemoFrame');
var previewFrame = $('#previewFrame');
previewFrame.remove();
liveDemoFrame.append(frameHtml).hide();
$('#previewFrame').hide();
liveDemoFrame.show().append('<div class="customiseThemeSpinnerWrap"><div class="customiseThemeSpinnerIcon"></div></div>');
setTimeout(function() {
$('#loading').remove();
$('.customiseThemeSpinnerWrap').remove();
$('#previewFrame').fadeIn();
}, 1000);
}
});
- 在Firefox中,一旦重新加载了iframe,CSS就会丢失,页面就完全是HTML
- 在IE中,尚未进行更改
- 在Chrome中-它在我的家用电脑和测试电脑上运行得非常好,但在大学电脑上不起作用
如果我在没有iframe的情况下访问第2页,则已经进行了更改,并且工作正常!
我试着添加:
<meta http-Equiv="Cache-Control" Content="no-cache">
<meta http-Equiv="Pragma" Content="no-cache">
<meta http-Equiv="Expires" Content="0">
但这似乎没有什么区别。
缓存?尝试使用header函数设置无缓存http标头。您还可以使用jquery在url的后面附加一个随机数,这样代理就不会缓存它们了。
我正在用手机接听,所以提供示例并不容易。很抱歉
问题是由成功函数中的"$('#previewFrame').hide();"引起的。这对任何人都没有任何帮助,但我想我应该发布我是如何解决这个问题的:)