TL;RD
¿Cómo/por qué algunos navegadores pueden buscar y resaltar texto en el cuerpo HTML seguido de #:~:text=
en la URL?
Explicación
Un día estaba buscando algo en Google, lo que me llevó a Quora’s resultado. Observé que estaban resaltadas en amarillo 2 oraciones, que formaban parte de la URL después del parámetro antes mencionado. Pensé que esta sería la característica de Quora para SEO o algo así, sin embargo, también encontré esto en LinkedIny Medioetcétera.
Me gustaría saber:
- ¿Cómo se llama este resaltado? ¿Por qué/cómo funciona?
- Esto parece ser específico del navegador. Qué amable de los navegadores admiten esto?
Parece funcionar en Chrome y Edge; pero no en Firefox, Safari e IE. - ¿Un programador frontend necesita incorporar algo en el código para que los motores de búsqueda destaquen el contenido en sus páginas web? (Basado en la suposición de que los motores de búsqueda realmente agregan la cadena relevante predicha por la consulta del usuario)
-
El resaltado se llama Fragmentos de texto. Es una nueva función que se agregó recientemente a Chrome 80. Funciona especificando un fragmento de texto en el hash de la URL.
-
Sí, es específico del navegador.
-
No, la experiencia que obtiene al hacer clic en un enlace de los resultados de búsqueda de Google es parte de los fragmentos destacados que se determinan mediante algoritmos. No hay nada que pueda incorporar en su código para solicitar a los motores de búsqueda que resalten el texto en su página.
Los webmasters no necesitan marcado. Esto sucede automáticamente, usando Scroll To Text para páginas HTML
https://chromestatus.com/feature/4733392803332096. Ver también más antecedentes aquí: https://support.google.com/webmasters/answer/6229325
Fuentes:
- https://web.dev/fragmentos-de-texto/
- https://www.theverge.com/2020/6/4/21280115/google-search-engine-yellow-highlight-featured-snippet-anchor-text
- https://www.theverge.com/2020/6/18/21295300/google-link-to-text-fragment-chrome-extension-chromium-highlight-scroll-down
- https://searchengineland.com/google-launches-featured-snippet-to-web-page-content-highlight-feature-335511
- https://blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html
-
Gran respuesta. Solo algunas adiciones: es solo para Chromium en este momento, pero pretende ser una característica de la plataforma web e interoperable entre navegadores. Ver Mozilla posiciones-estándar y Safari’s webkit-dev. Un enlace adicional es el repositorio WICG donde se está incubando la característica.
– David Bokan
21 de abril de 2021 a las 13:38
Si bien los fragmentos de texto se implementan de forma nativa solo en la última versión de Google Chrome (y las últimas versiones de los navegadores basados en Chromium, como el nuevo Microsoft Edge), hay una extensión/complemento del navegador que parece habilitarlo en Firefox y Safari: https://github.com/GoogleChromeLabs/link-to-text-fragment
parece usar #
ref-for-fragment-directive
:~:text=
y argumentos adicionales (en lugar de simples #:~:text=
).
- Firefox: https://addons.mozilla.org/firefox/addon/link-to-text-fragment/
- Safari: https://apps.apple.com/app/link-to-text-fragment/id1532224396
Curiosamente, la extensión también está disponible para Chrome y Edge (!).
.
ACTUALIZACIÓN: lo estoy probando en Firefox Developer Edition y no me funciona.
-
La extensión está disponible en Chrome principalmente para permitir generando este tipo de enlaces seleccionando texto y usando el menú contextual, ¡muy útil! De hecho, esta función se está integrando en Chrome; puede probarla ahora usando chrome://flags/#copy-link-to-text
– David Bokan
21 de abril de 2021 a las 13:44
scott yang
Quiero decir algunas palabras con respecto a la pregunta 2.
Esta característica es específica del navegador. Funciona en Chrome 80 y otros navegadores basados en Chrome como Edge. Desafortunadamente, Safari y Firefox no tienen la misma funcionalidad.
Cuando se trata de Safarise dice que hay una extensión de la versión de Safari llamada Link to Text Fragment
, cuya contrapartida en Chrome funciona a la perfección. Funciona agregando el texto seleccionado con el prefijo de #:~:text=
después de la URL actual. Sin embargo, después de probarlo, descubrí que no funcionaba en Safari. Y el calificaciones y reseñas de los usuarios confirmó su mal funcionamiento.
Como solución alternativa, descubrí 2 métodos.
[] Primero, puede crear su propia ‘extensión’ con una línea de código JS. Simplemente agregue un nuevo marcador en Safari. Dale un nombre y edita su URL como
javascript:(function(){const%20selectedText=getSelection().toString();const%20newUrl=new%20URL(location);newUrl.hash=`:~:text=${encodeURIComponent(selectedText)}`;window.open(newUrl);})();
Esto se llama bookmarklet. Luego, después de seleccionar un bloque de texto en una página web, haga clic en este nuevo marcador que acaba de crear. Se le abrirá una nueva página con la URL adjunta. Recuerda que en la nueva página, el texto que seleccionaste no se mostraría resaltado, ya que #:~:text=
solo funciona en navegadores basados en Chrome. Pero la nueva URL generada te será útil.
[] El segundo método se implementa dentro de QuickNote de MacOS. Mira esto enlace out, diciendo después de crear un enlace usando Add to Quick Note
en el menú contextual,
“Aparece un enlace a la página web en la Nota rápida y el texto en Safari está resaltado. Cuando vuelve a visitar el sitio web, su resaltado sigue allí y aparece una miniatura de la Nota rápida en la esquina inferior derecha de la pantalla. “
Luego, el texto resaltado en la página web podría compartirse con los usuarios de MacOS.
Creo que estos serían muy útiles para aquellos que lo necesitan. ^^
Actualizaciones: Resulta que #:~:text=
es compatible con la versión 16.1+ de Safari.
Cromo | Borde | Safari | Firefox | Ópera | ES DECIR |
---|---|---|---|---|---|
4-73 : No compatible | 12-18: No compatible | 3.1 – 16.0: no compatible | 2 – 111 : No compatible | 10 – 65 : No compatible | 6 – 10: No compatible |
74-80: no compatible | 79-81: No compatible | 16.1 – 16.3: Compatible | 112 : No compatible | 66 – 67: No compatible | 11: No compatible |
81-111 : Compatible | 83-111 : Compatible | 16.4 : Compatible | 113 – 114 : No compatible | 68 – 94 : Compatible | |
112 : Compatible | 112 : Compatible | 16.5 – TP : Compatible | 95 : Compatible | ||
113-115 : Compatible |
Y también pasa aquí. Vea Resaltado extraño durante unos segundos.
– Sebastián Simón
20 de julio de 2020 a las 5:21
El resaltado que se desvanece que ve en stackoverflow no está relacionado, es una característica del sitio cuando se vincula a una respuesta específica
– David Bokan
21 de abril de 2021 a las 13:32
Ver también: ¿Qué es exactamente el hash de ubicación `#:~:text=` en una URL?
– KyleMit
♦
30 de diciembre de 2021 a las 14:46