我有一个仅在Chrome中出现的Javascript /重定向问题。如果您在浏览器中将默认语言设置为西班牙语,请访问此页面:
http://www.fastrackids.com/es/bogota
在每个浏览器中,但Chrome工作正常。在Chrome中,您将在约3秒后重定向到日历页面。 (日历是页面上的标签之一。)
仅当Chrome设置为西班牙语默认语言时才会发生这种情况。并且它不会在任何其他浏览器中发生。我不是开发人员,但我已将其缩小为脚本。如果我删除了该脚本,则没有问题,但如果我将其保留,则会影响Chrome。该脚本如下(chrome重定向到的URL在脚本中):
jQuery(document).ready(function()
{
function loadCal(link)
{
jQuery('#loading_page').show();
jQuery.ajax({
url: link,
cache: false,
dataType: "html",
success: function(data) {
jQuery("#listings_calendar").html(data);
jQuery('#loading_page').hide();
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
jQuery("#listings_calendar").html('<h2>There was an error retrieving the calendar.</h2>');
jQuery('#loading_page').hide();
}
});
};
var date = new Date();
var date_str = date.getFullYear() + '-' + (date.getMonth()+1) + '-' + date.getDate();
var link = '/index.php?option=com_jumi&fileid=5&Itemid=49&task=ShowCView&format=raw&SearchDate=' + date_str + '&listing_id=' + jQuery('#listing_id').val();
loadCal(link);
jQuery('#listings_calendar').delegate("a", "click", function(event){
event.preventDefault();
loadCal(jQuery(this).attr('href') + '&format=raw');
return false;
});
});
非常感谢任何帮助,我不是开发人员。
答案 0 :(得分:0)
幸运的是,我可以重现它。 我跟踪了你的代码并找到了一些东西。
它从函数loadCal中的templates/jreviews_overrides/views/themes/ftk/theme_js/listings.js
开始,它使Ajax调用
http://www.fastrackids.com/index.php?option=com_jumi&fileid=5&Itemid=49&task=ShowCView&format=raw&SearchDate=2013-7-10&listing_id=453&_=1373450843892
在英语中,它按预期返回Calendar表。但在西班牙语中它返回此代码
<html><head><meta http-equiv="refresh" content="0;http://www.fastrackids.com/showprofile?SearchDate=2013-7-10&_=1373450843892&format=raw&lang=es&listing_id=453&ss=&task=ShowCView" /></head><body></body></html>
如您所见,它尝试重定向到另一个包含日历的网址。
我认为meta tag
的重定向旨在重定向网页而非Ajax调用。
如果要重定向Ajax调用。更好地使用header
重定向。
在PHP中你可以这样做:
header('Location: http://somewhere.com/blah')