• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

129
Vistas
Renderizado de lienzo anotado en Google Docs

Actualmente estoy trabajando en una extensión de Chrome y quiero que funcione en Google Docs para resaltar el texto. Google docs se está moviendo a la representación de Canvas para páginas, lo que básicamente elimina todo el texto del DOM y solo tenemos un elemento de canvas en el DOM para cada página.

He notado que al configurar window._docs_force_html_by_ext = <extension-id> en la página web de Google docs, podemos forzarlo a representar DOM como HTML, no como lienzo. Esto funciona bien para mi. También he visto algunas extensiones configuradas window._docs_annotate_canvas_by_ext = <extension-id> y eso asegura que el lienzo representado esté anotado con muchos elementos DOM dentro del elemento del lienzo. Este lienzo anotado permite cálculos posicionales para el texto.

He intentado insertar el script de la misma manera pero no parece tener ningún efecto en el DOM. ¿Hay algo más que deba hacer?

Cualquier ayuda es muy apreciada. Gracias por adelantado.

about 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En el momento actual, la opción HTML Fallback aparecerá antes que la opción Anotated Canvas. Esto significa que si tiene alguna extensión en ejecución que fuerce la opción HTML Fallback, entonces la opción Anotated Canvas no se procesará.

Esta es una mala noticia para aquellos que tienen una integración en ejecución con la opción Lienzo anotado porque cualquier otra aplicación instalada podría obligar al script a volver a la opción HTML Fallback.

Personalmente, aplico una verificación simple y manejo ambas soluciones en función de lo que devuelve el documento:

 const runInitializers = (): void => { const canvasFirstPage = document.querySelector( '#kix-appview > div.kix-appview-editor-container > div > div:nth-child(1) > div.kix-rotatingtilemanager.docs-ui-hit-region-surface > div > div.kix-page-paginated.canvas-first-page' ); const fallbackFirstPage = document.querySelector( '#kix-appview > div.kix-appview-editor-container > div > div:nth-child(1) > div.kix-zoomdocumentplugin-outer > div > div > div > div:nth-child(2) > div' ); if (canvasFirstPage) { initAnnotatedCanvas(); } else if (fallbackFirstPage) { initHTMLFallback(); } };
about 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda