#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 и отобразить поле ввода поиска при загрузке (но поле ввода поиска не должно отображаться при переходе на эту страницу по любой другой ссылке) Я надеюсь, что это имеет смысл