Chr*_*ris 1 jquery modal-dialog popup
我无法在IE8中使用以下代码,它在Firefox中运行良好.
用户单击链接以将属性添加到其收藏夹列表.单击时,我使用jQuery将页面加载到模式中.如果他们再次单击相同的链接,则需要重新运行代码,以便显示"已添加".在IE中它只显示原始模态窗口而不更新.
这非常令人沮丧......任何人都可以帮我解决吗?
$(document).ready(function() {
var $loading = $('loading image goes here');
$('.add_fav_property').each(function() {
var $dialog = $('<div></div>')
.append($loading.clone());
var $link = $(this).bind('click', function() {
$dialog
.load($link.attr('href') )
.dialog({
title: $link.attr('title'),
width: 400,
height: 150
});
$link.click(function() {
$dialog.dialog('open');
return false;
});
return false;
});
});
});
Run Code Online (Sandbox Code Playgroud)
来自http://blog.nemikor.com/2009/08/07/creating-dialogs-on-demand/的 jQuery代码
谢谢,克里斯.
你有几个选项,这是关于IE缓存结果的全部内容.您可以使用$.ajaxSetup()
不缓存任何 jquery AJAX请求,如下所示:
$.ajaxSetup({ cache: false });
Run Code Online (Sandbox Code Playgroud)
$.ajax({
cache: false,
url: $link.attr('href'),
dataType: 'html',
success: function(data) {
$dialog.html(data);
}
});
Run Code Online (Sandbox Code Playgroud)
无论这些添加到您的查询字符串_=XXXXX
,其中XXXXX
部分Date().getTime();
.这可以防止浏览器使用缓存结果,因为它认为您要求新页面.
第三种选择是自己做,虽然看起来像是重复或工作,如下所示:
var href = $link.attr('href');
$dialog
.load(href + (/\?/.test(href) ? "&" : "?") + "_=" + (new Date()).getTime())
.dialog({
title: $link.attr('title'),
width: 400,
height: 150
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2589 次 |
最近记录: |