2

Chrome でのみ発生する Javascript/リダイレクトの問題があります。ブラウザでデフォルト言語をスペイン語に設定し、次のページにアクセスした場合:

http://www.fastrackids.com/es/bogota

Chrome を除くすべてのブラウザで問題なく動作します。Chrome では、約 3 秒後にカレンダー ページにリダイレクトされます。(カレンダーは、ページ上のタブの 1 つです。)

これは、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;
    });

});

私は開発者ではありません。

4

1 に答える 1

0

幸いなことに、再現できます。あなたのコードをたどって、何かを見つけました。

templates/jreviews_overrides/views/themes/ftk/theme_js/listings.jsAjax呼び出しを行う関数loadCalのbegin atです。

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 table が返されます。しかし、スペイン語ではこのコードを返します

<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>

ご覧のとおり、Calendar を含む別の URL にリダイレクトしようとしています。

meta tagAjax呼び出しではなく、Webページをリダイレクトするように設計されているのは、リダイレクトだと思います。

Ajax 呼び出しをリダイレクトする場合。headerリダイレクトを使用することをお勧めします。

PHPでは次のことができます:

header('Location: http://somewhere.com/blah')
于 2013-07-10T10:22:04.907 に答える