¿Es posible calcular la ventana gráfica o el ancho de la ventana en función de los valores getBoundingClientRectAsync del elemento que está en el DOM virtual?
Ejecutando JS en el trabajador web (amp-script):
let button = document.querySelector('.tooltip-trigger'); async function addTooltip(event) { tooltipElem = document.createElement('span'); document.body.appendChild(tooltipElem); let coordsTrigger = await target.getBoundingClientRectAsync(); // How to get right offset? let windowWidth = coordsTrigger.left + coordsTrigger.width; console.log(windowWidth); }Elemento de destino (envuelto en amp-script):
<amp-script layout="fill" script="tooltip-async"><span class="tooltip-trigger"></span></amp-script> La solución que funciona a medias es usar window.innerWidth . Funciona a medias, porque el valor de window.innerWidth cambia solo después de recargar la página, y no cambia al cambiar el resize o cualquier otro evento por alguna razón. Probablemente porque se está ejecutando en DOM amp-script web-worker y no en main;
coordsActivar fuera:
bottom: 383.65625 height: 24 left: 122.59375 right: 201.640625 top: 359.65625 width: 79.046875 x: 359.65625 y: 122.59375