En Safari, y en NSTextView en OSX, los resultados de búsqueda se pueden resaltar con un cuadro amarillo brillante que tiene un pequeño pop animado. ¿Hay alguna manera de hacer esto en una vista web sin codificarlo todo yo mismo?Cómo resaltar los resultados de búsqueda en una vista web como Safari y NSTextView showFindIndicatorForRange:
Respuesta
Encontré una manera de hacer esto.
showFindIndicatorForRange: es un método de NSTextView. Necesito esta funcionalidad en una WebView. Estoy resaltando el texto usando métodos en WebView pero no tengo la animación. Probablemente haya una solución de JavaScript, pero no la he investigado. –
Oh, mi mal. Lo siento, leí mal tu pregunta. – Donovan
La respuesta (a partir de 2013-05) parece ser que tiene que resaltar manualmente los resultados de búsqueda en la vista web (ref: "Implementing a Find menu item like Safari?" thread from 2011), aunque es un long-planned webkit feature.
Voy a enumerar los enlaces que encontré mientras investigaba esto.
- Hay HighlightedWebView pero al momento de la escritura aparece para insertar
<span>
s para resaltar los términos de búsqueda. - no pude encontrar una respuesta sobre cómo imitar este efecto con Core Animation:
- Core animation - Safari Find effect en el cacao-dev tiene una visión general de la solución, pero no hay código
- https://stackoverflow.com/questions/12187511/mimicking-showfindindicatorforrange-with-calayer aquí en tanto carece de respuestas
- en vista Web y NSTextFinder (la interfaz de la barra de búsqueda estándar):
- How do I get NSTextFinder to show up aquí en SO está relacionado, pero no lo hace parece que se trata de este problema exacto.
- NSTextFinder reference (el "Soporte de texto Vista de la barra de búsqueda" sección) sugiere que puede dibujar "el hallazgo de fondo amarillo indicador del bisel" para cualquier NSView/NSScrollView si es compatible con NSTextFinderClient (que no lo hace WebView - Ref .: [1] , [2]).
- "WebView find panel/bar implementation" en cocoa-dev es el hilo más reciente (2013-04) y contiene una visión general de la posible solución.
Tome un vistazo a este código abierto WebView subclase (MIT License) que incorpora soporte NSTextFinder:
https://github.com/shc-vj/SHCWebView
, así como la propia fuente de WebKit para su aplicación de prueba Mininavegador:
https://github.com/WebKit/webkit/blob/master/Tools/MiniBrowser/mac/WK2BrowserWindowController.m
El control de ventana MiniBrowser er implementa NSTextFinderBarContainer para que no tenga que colocar su WebView dentro de una vista de desplazamiento superflua para que funcione la barra de búsqueda.
- 1. NSTextView resaltado amarillo como en busca de safari
- 2. Obtener y Resaltar palabra actual en un NSTextView
- 3. Recopilar todos los resultados de una búsqueda en Lucene/Optimización
- 4. Actualice los resultados de NSFetchedResultsController sin una nueva búsqueda
- 5. Búsqueda de resultados de búsqueda de Lucene
- 6. Lucene.Net Resultado de búsqueda para resaltar palabras clave de búsqueda
- 7. ¿Cómo mostrar los resultados de búsqueda de Google incrustados en mi sitio web?
- 8. grails paginación de los resultados de búsqueda
- 9. ¿Cómo resalta un sitio web los términos de búsqueda que utilizó en el motor de búsqueda?
- 10. Almacenamiento en caché de los resultados de búsqueda de Lucene.net
- 11. ¿Cómo manejar los resultados del cuadro de búsqueda rápida y las sugerencias recientes para la búsqueda?
- 12. cómo aumentar los resultados de búsqueda alexa usando Alexa API
- 13. Iteración de elementos en una vista de resultados de búsqueda con Django haystack MultiValueField
- 14. Resultados de búsqueda de Amazon API vs. resultados de búsqueda de Amazon.com
- 15. Búsqueda y visualización de resultados por relevancia en Oracle
- 16. Android Market, resultados de búsqueda posición Misterio
- 17. ¿Por qué Eclipse 'filtra los resultados de vista' al buscar?
- 18. ¿Cómo resaltar una fila en QTableWidget?
- 19. C# Navegador web con hacer clic y resaltar
- 20. Safari Top Sites de vista previa
- 21. Cómo controlar la búsqueda Resultados de la vista de un UISearchDisplayController?
- 22. ¿Filtrar los resultados de Django Haystack como QuerySet?
- 23. ¿Cómo formatear correctamente los resultados de PDO? - resultados numéricos devueltos como una cadena?
- 24. ¿Cómo resaltar los scripts Bash en Vim?
- 25. Incrustar una vista web en otra vista
- 26. ¿Cómo se hace una prueba unitaria cuando los resultados varían?
- 27. Mostrar una calificación de artículo en los resultados de búsqueda de Google
- 28. acceder a los resultados Vista desde variable en el código
- 29. Problema de búsqueda de la vista web de Android 2.2
- 30. ¿Cómo buscar una palabra en una cadena y resaltar palabra en una vista de texto en Android?
Hola Mike. ¿Tuviste éxito en esto? – Donovan