我正在使用AJAX并同时执行一些javascripts / jquery。我正在使用.load()。现在我在IE7上遇到问题,每个浏览器都能正常工作。不知何故IE7不断重新加载相同的内容,不停止。
我尝试过使用
$.ajaxSetup({
cache: false
});
和
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
没有工作。
我真的不知道发生了什么,找不到任何解决方案。
希望你们能帮助我。提前谢谢。
我的AJAX代码:
$('#ir_content').load(pageurl + ' #ir_inner_content');
因为另一个文件是使用带有后端语言的手动编码的javascript所以我通过在img标签上使用onload来运行脚本:
<img src="/images/icon_loadingLarge.gif" width="32" height="32" alt="loading..." id="loading_indicator" style="display: none;" onload="var script_text = $('#webchart_js').html(); eval(script_text);" />
script_text:
<div id="webchart_js">
(function($){
var interactive_chart_config = {
zoom_historical_default: [% chart_config.chart.chart_interactive.zoom_historical_default %],
zoom_intraday_default: [% chart_config.chart.chart_interactive.zoom_intraday_default %],
quotes_delay: [% ir.var.Config.format.quotes_delay %],
news_on_chart: {
[% news_types = chart_config.chart.chart_interactive.news_on_chart.keys %]
[% FOREACH news_type = news_types %]
[% news_type %]: {
[% news_options = chart_config.chart.chart_interactive.news_on_chart.${news_type}.keys %]
[% FOREACH news_option = news_options %]
[% news_option %]: [% chart_config.chart.chart_interactive.news_on_chart.${news_type}.${news_option} ? 'true' : 'false' %][% IF news_option != news_options.last %],[% END %]
[% END %]
}[% IF news_type != news_types.last %],[% END %]
[% END %]
},
modify_news: [
[% FOREACH news = chart_config.chart.chart_interactive.modify_news.news %]
{
[% FOREACH key = news.keys %]
[% key %]: '[% news.${key} %]'[% IF key != news.keys.last %],[% END %]
[% END %]
}[% IF news != chart_config.chart.chart_interactive.modify_news.news.last %],[% END %]
[% END %]
]
};
$(document).ready(function(){
$('#content_container').web_chart($.extend({}, {
theme : Highcharts.theme,
counter_code : "[%= stock_ids.first %]",
plot_on_load : true,
always_reload : true,
loading_indicator_id : 'loading_indicator',
chart_setting_id : 'chart_setting',
counter_list_form_id : 'counter_list_form',
chart_container_id : 'chart_container',
css_class_for_flags : {'N' : 'news_tooltip', 'I' : 'insider_trades_tooltip', 'C' : 'corporate_actions_tooltip'}
}, interactive_chart_config));
});
})(jQuery);
</div>
答案 0 :(得分:0)
尝试将随机字符串添加到ajax URL的末尾。这将阻止IE缓存内容。像这样:
$('#ir_content').load(pageurl + '?r=' + Math.Random() + '#ir_inner_content');
答案 1 :(得分:0)
always_reload
是什么?通过将其传递给true,它是否可能重新加载IE7?
$(document).ready(function(){
$('#content_container').web_chart($.extend({}, {
theme : Highcharts.theme,
counter_code : "[%= stock_ids.first %]",
plot_on_load : true,
/*
* HERE
*/
always_reload : true,
loading_indicator_id : 'loading_indicator',
chart_setting_id : 'chart_setting',
counter_list_form_id : 'counter_list_form',
chart_container_id : 'chart_container',
css_class_for_flags : {'N' : 'news_tooltip', 'I' : 'insider_trades_tooltip', 'C' : 'corporate_actions_tooltip'}
}, interactive_chart_config));
});
})(jQuery);