#javascript
#javascript
Вопрос:
Сценарий таков: у меня есть 2 вкладки в приложении: 1. Вкладка Список пациентов 2. Вкладка Поиск пациентов
После входа в приложение по умолчанию будет выбрана первая вкладка, которая является вкладкой списка пациентов, когда я выбираю вкладку 2, вкладку поиска пациента и поиск пациента, я вижу список пациентов с вертикальной прокруткой. Если я выбираю пациента, приложение переводит меня на следующую страницу. Когда я перехожу назад, я возвращаюсь к той же вкладке поиска пациента, сохраняя те же данные и положение прокрутки в браузере Safari.
Если я выполняю то же действие в Firefox или Chrome, при обратном переходе я возвращаюсь на вкладку по умолчанию, которая является первой вкладкой списка пациентов.
Я использую приведенную ниже функцию для навигации
function detailsBack() {
var backBtn = document.getElementById("backBtn");
if (backBtn.innerHTML == i18n.PTLST) {
javascript:history.go(-1);
}
}
Не уверен в проблеме. Пожалуйста, взгляните и поделитесь своими мыслями
Спасибо Дипак
Ответ №1:
Потому что javascript:history.go(-1) не является допустимым javascript. Если бы вы использовали соответствующий отладчик (firebug, например), вы бы увидели там ошибку.
Попробуйте вызвать history.go(-1)
, пропустив javascript:
часть. Вам нужно это только в виде гиперссылки.
Комментарии:
1. Ну да, очевидно. Но тогда он потенциально не знал бы, что такое отладчик javascript или почему он не работает здесь, но он есть в его ссылке.
2. И даже тогда вам не следует его использовать. предпочтительнее
onclick="history.go(-1); return false
илиonclick="history.back(); return false
3.
<a href="javascript:someFunction()"
произойдет сбой в браузерах, в которых отключен javascript, и частично выгрузит браузер — если someFunction покидает страницу, то это меньшая проблема,onclick="someFunction(); return false"
или тем лучшеonclick="return someFunction()"
, если функция возвращает false — это то, что я предлагаю. Пуристы добавят обработчик событий в скрипт в head, что является лучшим методом