У меня есть этот плагин jQuery ajax навигационных вкладок, который я создал с помощью некоторой справки от CSS-Tricks.com и плагина jQuery hashchange *1002* (обнаруживает изменения хеша в браузерах, которые его не поддерживают).
Код немного длинный, чтобы разместить его здесь, но он выглядит примерно так:
Часть 1) При нажатии на вкладку, она получает атрибут href этой вкладки и добавляет его на панель навигации браузера, например '#tab_name': window.location.hash = $(this).attr("href");
Часть 2) Когда изменяется навигационная панель (изменение хеша), она получает изменение href следующим образом: window.location.hash.substring(1);
(подстрока должна получить только 'tab_name' без '#'), а затем вызвать функцию ajax для получить информацию для отображения.
Я хочу автоматически запустить плагин для загрузки первой вкладки при доступе к странице, поэтому в начале кода я поставил:
if (window.location.hash === '') { // If no '#' is in the browser navigation bar
window.location.hash = '#tab_1'; // Add #tab_1 to the navigation bar
$(window).trigger('hashchange'); // Trigger a hashchange so 'Part 2' of the plugin calls the ajax function using the '#tab_1' added
}
Проблема в том, что он работает в FF, но не в Chrome, я имею в виду, что все работает, но кажется, что $(window).trigger('hashchange');
не работает, потому что он не получает первую вкладку ..
Есть предложения ??
Примечание. Некоторое время назад это работало, но внезапно - нет (возможно, обновление Chrome).