Подкачка страниц Ajax - включает кнопку "Назад" [дубликат]

На большинстве regex диалектов существует ряд удобных символьных сводок, которые можно использовать для такого рода вещи - это хорошие для запоминания:

\w - Соответствия любой словесный символ.

\W - Соответствия любой несловесный символ.

\s - Соответствия любой пробельный символ.

\S - Соответствия что-либо кроме пробельных символов.

\d - Соответствия любая цифра.

\D - Соответствия что-либо кроме цифр.

поиск А "Regex Cheatsheets" должен вознаградить Вас большим количеством полезных сводок.

5
задан Community 23 May 2017 в 11:57
поделиться

3 ответа

Как вы знаете, разбиение на страницы javascript убивает кнопку возврата. Но это также убивает возможность ссылки на данную страницу. Чтобы избежать перезагрузки страницы, но сохранить кнопку «Назад», вам нужно будет использовать # в URL-адресе. Затем вы сможете использовать кнопку «Назад» (и ссылку непосредственно на страницу), но вам нужно будет проанализировать URL-адрес при загрузке страницы, переместив страницу на правильную.

РЕДАКТИРОВАТЬ:

Получите URL:

var baseURL = location.href.slice(0, location.href.indexOf('#'));

Затем добавьте к URL с вашим новым ресурсом:

location.href = baseURL + '#page2';
//you'll probably want to figure out the page number programatically

Но не забудьте перейти к нужному ресурсу при загрузке:

$(goToResource);
function goToResource() {
    var hashURL = location.href.slice(location.href.indexOf('#'));
    //you AJAX code to load the resource goes here
}

Конечно, вы, вероятно, могли бы найти плагин, чтобы сделать все это для вы.

4
ответ дан 14 December 2019 в 01:14
поделиться

Try using jquery.history plugin. It can nicely accomplish what you want.

4
ответ дан 14 December 2019 в 01:14
поделиться

Пожалуйста, ознакомьтесь с разделом Добавление поддержки истории браузера на этой странице

В статье не упоминается, что это не работает для IE из коробки. Вам нужно будет включить iframe на свою страницу, чтобы заставить его работать с IE.

<iframe id="__historyFrame" style="display:none;" ></iframe>

Я проверял только IE7 и Firefox. Учитывая недокументированную проблему с IE, я не уверен, что он будет работать с широким спектром браузеров

1
ответ дан 14 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: