Использовать поиск в браузере (Ctrl F) через кнопку на веб-сайте?

#javascript #asp.net

#javascript #asp.net

Вопрос:

Я создал веб-сайт и добавил кнопку и много текста. Что я хочу, так это использовать поиск в браузере (Ctrl F), когда я нажимаю кнопку, которую я добавил на веб-сайт.

Как я могу этого добиться?

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

1. Вероятно, это невозможно. Но должен существовать какой-то js-модуль, который выполняет поиск по странице.

2. если браузер не предоставляет для этого API (BOM — browser object model), вы не сможете.

Ответ №1:

Это вроде как работает для FF. Смотрите эту страницу

  <a href="#" onclick="find();">Find in This Page...</a>
  

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

1. Вы также можете передать ему строку, find('foobar') которая выделит первое вхождение «foobar» в документе. Повторный вызов find() выделит следующее вхождение.

2. w3resource.com/javascript/client-object-property-method / … скажем, список поддерживаемых браузеров: Internet Explorer 7, Firefox 3.6, Google Chrome 7, Safari 5.0.1, Opera 10.

3. Из моего окна тестирования.find() поддерживается в Chrome 37 и FF31, но не в IE11. Я был бы осторожен с точки зрения будущей поддержки, хотя: bugzilla.mozilla.org/show_bug.cgi?id=672395

4. @Fabian — find () выделяет текст на веб-странице, но не прокручивает вниз, чтобы показать выделенный текст (в отличие от возможности поиска в браузере, которая прокручивает страницу вниз и показывает выделенный текст).

Ответ №2:

обновление: из комментария Марка:

Из моего тестирования window.find() поддерживается в Chrome 37 и FF31, но не в IE11

Обновить:

для получения дополнительной информации об этом окне.найти перейти здесь

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

1. Из моего окна тестирования.find() поддерживается в Chrome 37 и FF31, но не в IE11.

2. спасибо @Mark, я обновил свой ответ, используя ваш ответ

3. привет, у меня это тоже сработало. Я просто дополнительно хочу, чтобы всякий раз, когда я снова использую find (), он должен выполнять поиск сверху страницы (а не после ранее найденного литерала). Можете ли вы рассказать, как сбросить функцию find ()? или привести меня к документации об этом?

4. неважно. понял 🙂 developer.mozilla.org/en-US/docs/Web/API/Window/find

Ответ №3:

Нет. В общем, вы не можете вызывать элементы управления браузером изнутри веб-страницы — безопасность, изолированность и все такое.

Вам нужно выполнить какой-то поиск по странице — если вы используете CMS, большинство из них имеют встроенную функцию простого поиска.

Если вы хотите сделать это на JavaScript, существуют различные скрипты, которые эмулируют это на странице; случайным образом выбранный из моего запроса «поиск javascript на странице», это: http://www.seabreezecomputers.com/tips/find.htm

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

1. Я создаю пользовательскую CMS, поэтому у меня нет встроенной функции поиска .. : (какие указатели?

2. Вот один: «Не создавайте свою собственную CMS».

3. @T.W.R.Cole Или: «Не используйте CMS, которые вы не создавали» 😉