PostGIS & amp; QGIS - Расширение PostGIS недоступно?

Вы не можете вызвать диалог поиска на основе Chrome, но вы можете вызвать window.find() . Основными отличиями между внутренним диалогом и find() являются

  1. find(), который выделяет только одно из совпадений на странице, тогда как родной диалог выделяет все. Если быть точным, find() начнется с выделения совпадения, ближайшего к верхней части документа, а повторные вызовы переместят его вниз по странице.
  2. find() выделит выделенный текст в стандартном синий цвет, в то время как диалог поиска Chrome выделяет свои совпадения оранжевым цветом. Однако это можно передразнить, изменив свойство CSS background псевдо-класса ::selection.

В зависимости от вашего варианта использования этого может быть достаточно.

Однако, если вы хотите выделить конкретную цитату на странице и должны учитывать возможные дубликаты этой цитаты, тогда это немного сложнее, и я не уверен, что это можно сделать в совершенстве. Вы хотите получить точное местоположение выделенного текста с помощью window.getSelection() , найти способ идентифицировать его startNode и endNode для перезагрузки страниц (если у них есть идентификаторы, это легко , но если нет, вам придется прибегать к хакам), а затем, когда страница будет открыта повторно, используйте Selection.addRange() , чтобы восстановить ее.

0
задан Matthew Wood 11 March 2019 в 13:42
поделиться