Проблема с историей Chrome - PullRequest
0 голосов
/ 11 апреля 2010
    $("#table_exams tbody tr").click(function (event)
        {
            window.location.href="#" +$(this).attr("exam_ID");      
            window.location.href="/medilab/prototypes/exams/edit?examId=" + $(this).attr("exam_ID") +"&referer=" + referer;     
            row_select(this);
        });

 $(document).keypress(function (event) {
            if(event.keyCode==13) $(row_selected).trigger("click");

        });

У меня есть небольшая проблема с этим только в Chrome ... Когда пользователь возвращается, Chrome игнорирует последний хэш href, который добавил мой скрипт ... но когда я делаю двойной щелчок, все нормально ... IE и Firefox отлично работают ...

1 Ответ

2 голосов
/ 11 апреля 2010

Я бы попробовал location.hash, который немного более последовательный в поведении, например:

window.location.hash="#" +$(this).attr("exam_ID");      
window.location.href="/medilab/prototypes/exams/edit?examId=" + $(this).attr("exam_ID") +"&referer=" + referer;     

Chrome стремится оптимизировать стек вызовов, его механизм трассировки знает, что location.href установлен только таким образом, что приводит к действию в последнем наборе ... это предотвращает оптимизацию трассировки (jQuery имеет схожие проблемы здесь, в движке Sizzle есть специальный код, который справляется с тем, что делает Chrome).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...