Может ли функция обратного вызова выполняться при нажатии на предыдущую страницу (jQuery)?

#javascript #jquery

#javascript #jquery

Вопрос:

Возможно, это невозможно, но в настоящее время я пытаюсь загрузить некоторый jQuery нажатием кнопки с другой страницы.

Я очень кратко знаю о функциях обратного вызова, но мне было интересно, можно ли выполнить обратный вызов на новой странице после нажатия кнопки с предыдущей страницы?

Комментарии:

1. Вы могли бы использовать localStorage.

2. Ответ отрицательный, но вы можете запускать код на основе URL, веб-хранилища, файлов cookie и т. Д

3. Возможно, было бы лучше точно описать, что вам нужно сделать, а не зацикливаться на «обратном вызове с предыдущей страницы», потому что прямо сейчас это звучит как проблема XY . Здесь может быть другое решение, чем попытка передать функцию через навигацию по странице.

4. «предыдущая страница» — добавьте что-нибудь к URL при открытии новой страницы или к элементу формы, если вы переходите через post. «другая страница» — используйте сокеты или новейший эквивалент для связи через сервер

Ответ №1:

Вы можете сохранить ее в localStorage , но, к сожалению, вам нужно использовать eval :

Страница 1:

 localStorage.setItem("callback", "function() { alert(42); }");
  

Страница 2:

 var callback = eval(localStorage.getItem("callback"));
callback();
  

Комментарии:

1. Это работает, но не следует рассматривать это всерьез, поскольку это плохой дизайн.

2. Да, я знаю @Webber, но это единственный практический способ добиться того, чего хочет OP.

3. Я бы сказал, что мы даем OP еще немного времени, чтобы лучше описать, что именно он пытается сделать и где он застрял, как указал ВЛАЗ. Для кого-то, кто говорит «Я очень кратко знаю о функциях обратного вызова», на самом деле полезнее указать правильное направление, чем слепо отвечать на вопрос.

4. Спасибо за все ответы. итак, что я сейчас пытаюсь сделать, это: — страница 1: отобразить значок поиска и по щелчку перейти на страницу 2. — страница 2: после нажатия на значок поиска перейти на страницу 2 и отобразить поле ввода поиска при загрузке (но поле ввода поиска не должно отображаться при переходе на эту страницу по любой другой ссылке) Я надеюсь, что это имеет смысл