У меня есть веб-сайт с несколькими вкладками, показывающими разные вещи. Я сделал очень простую вещь для управления вкладками:JS/JQUERY TAB с историей, совместимость
HTML:
<li id="thing1" class="tab selected"></li>
<li id="thing2" class="tab"></li>
<li id="thing3" class="tab"></li>
<div id="_thing1" class="box"></div>
<div id="_thing2" class="box hidden"></div>
<div id="_thing3" class="box hidden"></div>
JS/JQuery:
$(".tab").on('click', function() {
$(".tab").removeClass('selected');
$(this).addClass('selected');
$(".box").addClass('hidden');
$('#_' + $(this).attr('id')).removeClass('hidden');
});
Все работает отлично, но я пытаюсь добавить историю в моей вкладке нажмите , поэтому, когда вы нажмете на свой браузер, перейдите на последнюю вкладку, которую вы посетили.
Я провел некоторое исследование, и я немного смущен, мне кажется, что многое, что мне нужно для достижения моей цели, несовместимо со всеми браузерами. JQuery не реализовал вещи, связанные с историей.
например: on ('hashchange') не совместим с каждым браузером.
Это то, что я начал:
$(".tab").on('click', function() {
history.pushState({id: $(this).attr('id')}, $(this).attr('id'), '#'+$(this).attr('id'));
}
Так есть ли способ, я могу добиться того, чего я хочу, без плагинов, и легко?
Вы пытались манипулировать историей браузера через JS? ... – qtgye
У вас есть много плагинов на выбор, как [этот] (http://srsgores.github.io/jquery-hash-tabs/). [Этот пример] (http://jsfiddle.net/gryzzly/xUS4D/) поможет вам. – skobaljic
Да, но я остановился, потому что меня смущала совместимость. Я не хочу делать что-то, что мне нужно будет протестировать в каждом браузере и беспокоиться о том, в какой версии он будет работать. –