Вкладки JQuery UI реализованы именованными привязками в незаказанном списке. Когда Вы нависаете над одной из вкладок, Вы видите это в ссылке, показанной у подножия браузера:
http://mysite/product/3/#orders
Выше была бы вкладка "заказов", например. JQuery, очевидно, прерывает щелчок к этой привязке и открывает вкладку вместо этого.
Однако, если я отмечаю ссылку выше или связываюсь с нею откуда-либо в сайте, страница не открывается на определенной вкладке.
В блоке инициализации вкладки я рассматривал включение некоторого кода, который ищет именованную привязку в URL и, если это находит один, делает индексный поиск вкладок и называет выбор на нем. Это означало бы, что будет все еще работать с выключенным JS.
Но есть ли более легкий/более хороший/лучше путь?
Нашел этот пример здесь:
if(document.location.hash!='') {
//get the index from URL hash
tabSelect = document.location.hash.substr(1,document.location.hash.length);
$("#my-tabs").tabs('select',tabSelect-1);
}
Начиная с версии 1.8 пользовательский интерфейс jQuery поддерживает эту функцию. См. Пример здесь:
В версиях jQuery UI до 1.8 (не включительно) это в значительной степени то же самое, что и вам. Расширение вкладки (AFAIK) не знает, как переключаться, в зависимости от того, с какой привязкой оно инициализировано (при загрузке страницы), поэтому вам нужно сделать этот бит вручную (в событии готовности, конечно).
Как другой ответ указывает, новая версия вкладок в jQuery UI 1.8 поддерживает закладку прямо из коробки .
Я использую плагин Session для этого в настраиваемом классе вкладок