Удалите историю браузера с помощью jQuery

function2 и function3 объявления не должны быть вложены в function1, потому что они не зависят от его области действия.

function2 ничего не возвращает.

function1, function2 и function3 действуют как функциональные компоненты и должны использоваться как таковые; они должны иметь имена падежей и иметь единственный параметр props:

function Funtion2({ text }) {
    return <div>function 2: {text}</div>
}

const Function3 = ({ text }) => <div>function 3 {text}</div>

const Function1 = ({ par1, par2 }) => {
    return (
         <div>
             <Function2 text={"some text"}/>
             <Function3 text={"some text"}/>
         </div>
    )
}
6
задан geo 6 March 2010 в 03:33
поделиться

2 ответа

Скорее всего, вы не можете легко сделать то, что вы пытаетесь. Существует window.location.replace, который переходит на новый URL и удаляет текущую страницу из истории, но это для полных переходов по страницам и почти наверняка нарушит способ фальсификации истории в jQuery.

Можно изменить, где вы находитесь в стеке истории, используя window.history.go (), который принимает целочисленное смещение в истории и перемещается к соответствующей записи. Он вообще не изменяет стек, он просто ставит вас на новое место. Есть также функции back () и forward (), которые просто вызывают с -1 и 1 соответственно. Это, вероятно, то, что вы ищете, хотя это не изменит стек, просто переместит вас в него.

В идеале, вы должны найти плагин для jQuery, который не ' поддерживать историю так, как это делает jQuery.history, но вместо этого предлагает абстракцию onhashchange, и ваша библиотека просто реагирует на изменения хеша. Таким образом, браузер отвечает за стек истории, и вы не столкнетесь с множеством сумасшедших проблем, с которыми сталкиваются библиотеки истории ajaxian.

8
ответ дан 9 December 2019 в 22:39
поделиться

История браузера обычно доступна очень ограниченным образом через javascript (чтобы предотвратить отслеживание / доступ сайтов к этой информации). Короткий ответ - насколько я знаю, то, что вы пытаетесь сделать, недоступно для вас через jquery.

3
ответ дан 9 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

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