<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Enciclopedia de Integración de Widgets para Editores | PC Part Comparator</title>
    <link>https://thecomparator.tech/es/publishers/academy/</link>
      <atom:link href="https://thecomparator.tech/es/publishers/academy/index.xml" rel="self" type="application/rss+xml" />
    <description>Enciclopedia de Integración de Widgets para Editores</description>
    <generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>es-us</language><lastBuildDate>Tue, 04 Aug 2026 00:00:00 +0000</lastBuildDate>
    <item>
      <title>Monetización e Integración de Claves de Afiliados</title>
      <link>https://thecomparator.tech/es/publishers/academy/monetization-and-affiliate-keys/</link>
      <pubDate>Tue, 04 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://thecomparator.tech/es/publishers/academy/monetization-and-affiliate-keys/</guid>
      <description>&lt;h1 id=&#34;monetización-e-integración-de-claves-de-afiliados&#34;&gt;Monetización e Integración de Claves de Afiliados&lt;/h1&gt;
&lt;p&gt;Los widgets de The Comparator permiten a los editores de medios, analistas y blogueros tecnológicos monetizar el tráfico de recomendaciones de hardware directamente. Al integrar tus etiquetas de seguimiento de afiliados personalizadas en nuestros Monitores de Ofertas y comparadores integrables, el 100% de los clics salientes en los botones &amp;ldquo;Ir a la oferta&amp;rdquo; llevan tus IDs de afiliado.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-redes-de-afiliación-y-parámetros-compatibles&#34;&gt;1. Redes de Afiliación y Parámetros Compatibles&lt;/h2&gt;
&lt;p&gt;Puedes añadir etiquetas de afiliado globalmente mediante la configuración del widget o directamente en la etiqueta mediante atributos &lt;code&gt;data-affiliate-*&lt;/code&gt;:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Tienda / Red&lt;/th&gt;
          &lt;th&gt;Parámetro de Etiqueta&lt;/th&gt;
          &lt;th&gt;Valor de Ejemplo&lt;/th&gt;
          &lt;th&gt;Redes Compatibles&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Amazon US&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;data-tag-amazon&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;mitienda-20&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Amazon Associates&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Newegg US&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;data-tag-newegg&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;8483920&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Impact Radius / CJ Affiliate&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Best Buy&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;data-tag-bestbuy&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;bby-pub-99&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Impact&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;ejemplo-de-integración-estándar-con-etiquetas-de-afiliado&#34;&gt;Ejemplo de Integración Estándar con Etiquetas de Afiliado:&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;iframe&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://thecomparator.tech/widget/deal-monitor/?category=gpu&amp;amp;tag_amazon=miblog-20&amp;amp;tag_newegg=998811&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;100%&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;480&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;frameborder&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;0&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;loading&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;lazy&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Monitor de Ofertas de GPU en Vivo&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;iframe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;2-normas-de-cumplimiento-y-texto-de-los-botones-cta&#34;&gt;2. Normas de Cumplimiento y Texto de los Botones (CTA)&lt;/h2&gt;
&lt;p&gt;Para proteger el dominio de tu medio y cumplir con la normativa de transparencia publicitaria:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Ir a la oferta&amp;rdquo; frente a &amp;ldquo;Comprar ahora&amp;rdquo;&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Requerimos que todos los botones de llamada a la acción muestren &lt;strong&gt;&amp;ldquo;Ir a la oferta&amp;rdquo;&lt;/strong&gt; (o &lt;strong&gt;&amp;ldquo;Ver en Amazon&amp;rdquo;&lt;/strong&gt;) cuando los precios corresponden a instantáneas dinámicas de mercado.&lt;/li&gt;
&lt;li&gt;La expresión &amp;ldquo;Comprar por $X&amp;rdquo; está estrictamente prohibida a menos que el precio esté garantizado en tiempo real.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Instantáneas de Precios con Fecha&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Cada precio mostrado dentro del widget incluye una marca de tiempo (ej. &lt;code&gt;Precios a fecha de 4 de agosto de 2026&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Divulgación de Afiliados&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Los editores DEBEN incluir un aviso de afiliados visible junto al widget (ej., &lt;em&gt;&amp;ldquo;Al comprar a través de los enlaces de nuestro sitio, podemos recibir una comisión de afiliado.&amp;rdquo;&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;3-optimización-del-ratio-de-clics-ctr&#34;&gt;3. Optimización del Ratio de Clics (CTR)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pre-filtrado Contextual por Categoría&lt;/strong&gt;: Integra widgets de GPU en análisis de tarjetas gráficas, widgets de CPU en análisis de procesadores y widgets de SSD NVMe en artículos de almacenamiento.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alineación del Preajuste con el Artículo&lt;/strong&gt;: Utiliza &lt;code&gt;preset=gaming-1440p&lt;/code&gt; para artículos de videojuegos, o &lt;code&gt;preset=ai-llm&lt;/code&gt; para artículos de estaciones de trabajo e inteligencia artificial.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adaptación de Tema&lt;/strong&gt;: Utiliza &lt;code&gt;theme=auto&lt;/code&gt; para que el widget coincida con el modo claro u oscuro de tu sitio.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-guías-relacionadas-para-editores&#34;&gt;🔗 Guías Relacionadas para Editores&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🧩 &lt;strong&gt;
&lt;/strong&gt;: Catálogo completo de fragmentos HTML y opciones de configuración.&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;
&lt;/strong&gt;: Reglas para modo oscuro y contenedores adaptativos.&lt;/li&gt;
&lt;li&gt;🎓 &lt;strong&gt;
&lt;/strong&gt;: Resumen de todas las herramientas para editores.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Guía de Integración de Widgets para Editores</title>
      <link>https://thecomparator.tech/es/publishers/academy/widget-embed-guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://thecomparator.tech/es/publishers/academy/widget-embed-guide/</guid>
      <description>&lt;h1 id=&#34;guía-de-integración-de-widgets-para-editores&#34;&gt;Guía de Integración de Widgets para Editores&lt;/h1&gt;
&lt;p&gt;The Comparator ofrece widgets interactivos y ligeros de valor de hardware que los editores pueden integrar directamente en sus análisis y guías de compra de tecnología.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-tipos-de-widgets-y-casos-de-uso&#34;&gt;1. Tipos de Widgets y Casos de Uso&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Tipo de Widget&lt;/th&gt;
          &lt;th&gt;Ubicación Ideal en el Artículo&lt;/th&gt;
          &lt;th&gt;Qué Muestra&lt;/th&gt;
          &lt;th&gt;Enlace de Demostración&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Monitor de Ofertas&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Ficha de análisis de producto&lt;/td&gt;
          &lt;td&gt;Precio mínimo de mercado en vivo, stock, tendencia a 30 días&lt;/td&gt;
          &lt;td&gt;
&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Indicador de Valor&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Sección de conclusión / veredicto&lt;/td&gt;
          &lt;td&gt;Calibrador de Puntuación de Valor (0-100) relativo al mercado&lt;/td&gt;
          &lt;td&gt;
&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Comparación Directa&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Artículos de enfrentamientos cara a cara&lt;/td&gt;
          &lt;td&gt;Tabla comparativa de especificaciones y veredicto ganador&lt;/td&gt;
          &lt;td&gt;
&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;2-integración-estándar-mediante-iframe&#34;&gt;2. Integración Estándar mediante iFrame&lt;/h2&gt;
&lt;p&gt;Pega el código de iFrame adaptativo directamente en el bloque HTML de tu editor de artículos:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;&amp;lt;!-- Widget Monitor de Ofertas de The Comparator --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;iframe&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://thecomparator.tech/embed/deal-ryzen-7-9800x3d.html&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;na&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;100%&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;na&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;450&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;na&#34;&gt;frameborder&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;0&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;na&#34;&gt;scrolling&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;no&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;na&#34;&gt;loading&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;lazy&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;na&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;AMD Ryzen 7 9800X3D — Precios y Puntuación de Valor&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;iframe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;3-instrucciones-específicas-por-cms&#34;&gt;3. Instrucciones Específicas por CMS&lt;/h2&gt;
&lt;h3 id=&#34;wordpress-editor-gutenberg&#34;&gt;WordPress (Editor Gutenberg)&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Añade un bloque de &lt;strong&gt;HTML Personalizado&lt;/strong&gt; en tu artículo.&lt;/li&gt;
&lt;li&gt;Pega el fragmento &lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt; mostrado arriba.&lt;/li&gt;
&lt;li&gt;Guarda o publica tu artículo.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;ghost-cms&#34;&gt;Ghost CMS&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Haz clic en el icono &lt;code&gt;+&lt;/code&gt; del editor de Ghost y selecciona &lt;strong&gt;HTML Card&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Pega el fragmento &lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;webflow--plataformas-personalizadas&#34;&gt;Webflow / Plataformas Personalizadas&lt;/h3&gt;
&lt;p&gt;Pega el código dentro de un componente de &lt;strong&gt;Embed&lt;/strong&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;4-personalización-de-parámetros-del-widget&#34;&gt;4. Personalización de Parámetros del Widget&lt;/h2&gt;
&lt;p&gt;Puedes pasar parámetros de consulta en la URL para personalizar el comportamiento del widget:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;theme=dark&lt;/code&gt; o &lt;code&gt;theme=light&lt;/code&gt;: Fuerza un esquema de color específico.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;currency=USD&lt;/code&gt;: Especifica la moneda del mercado.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;subid=tu_etiqueta_editorial&lt;/code&gt;: Añade tu etiqueta de seguimiento de afiliados personalizada.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;iframe&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://thecomparator.tech/embed/deal-ryzen-7-9800x3d.html?theme=dark&amp;amp;subid=techblog_analisis_2026&amp;#34;&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;iframe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>Sincronización de Tema e iFrames Adaptativos</title>
      <link>https://thecomparator.tech/es/publishers/academy/theme-syncing-and-responsiveness/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://thecomparator.tech/es/publishers/academy/theme-syncing-and-responsiveness/</guid>
      <description>&lt;h1 id=&#34;arquitectura-de-sincronización-de-tema-e-iframes-adaptativos&#34;&gt;Arquitectura de Sincronización de Tema e iFrames Adaptativos&lt;/h1&gt;
&lt;p&gt;Para garantizar que los widgets se integren a la perfección en los sitios de los editores sin barras de desplazamiento ni desajustes de color, The Comparator utiliza &lt;code&gt;assets/js/widget.js&lt;/code&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-cómo-funciona-la-sincronización-de-tema&#34;&gt;1. Cómo Funciona la Sincronización de Tema&lt;/h2&gt;
&lt;p&gt;Los sitios web anfitriones suelen alternar entre modos Claro y Oscuro. El widget incrustado escucha los cambios de tema en la ventana principal mediante la API &lt;code&gt;postMessage&lt;/code&gt; de HTML5.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[Sitio Anfitrión (Padre)] ── postMessage({ type: &amp;#39;tc-theme&amp;#39;, theme: &amp;#39;dark&amp;#39; }) ──&amp;gt; [Widget Comparator (iFrame)]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;configuración-del-script-en-el-sitio-anfitrión&#34;&gt;Configuración del Script en el Sitio Anfitrión&lt;/h3&gt;
&lt;p&gt;Añade el script ligero &lt;code&gt;widget.js&lt;/code&gt; en el pie de página de tu sitio:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://thecomparator.tech/assets/js/widget.js&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;async&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Este script realiza automáticamente:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Detección de mutaciones de la clase &lt;code&gt;dark&lt;/code&gt; en &lt;code&gt;document.documentElement&lt;/code&gt; o &lt;code&gt;document.body&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Comprobación de &lt;code&gt;localStorage.theme&lt;/code&gt; y &lt;code&gt;prefers-color-scheme: dark&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Envío de eventos &lt;code&gt;tc-theme&lt;/code&gt; a todos los iFrames de The Comparator activos en la página.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;2-ajuste-automático-dinámico-de-altura&#34;&gt;2. Ajuste Automático Dinámico de Altura&lt;/h2&gt;
&lt;p&gt;Para evitar barras de desplazamiento verticales dentro del iFrame, el widget calcula su altura de contenido dinámicamente y se la comunica a la ventana principal:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Ejemplo del receptor en widget.js
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;addEventListener&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;message&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;event&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;event&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;event&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;===&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;tc-resize&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;iframe&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;document&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;querySelector&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`iframe[src*=&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;event&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;widgetId&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;&amp;#34;]`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;iframe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nx&#34;&gt;iframe&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;style&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;height&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;event&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;height&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;px&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;3-comportamiento-sin-javascript&#34;&gt;3. Comportamiento sin JavaScript&lt;/h2&gt;
&lt;p&gt;Si el sitio anfitrión tiene JavaScript desactivado:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El iFrame utiliza la altura predeterminada &lt;code&gt;height=&amp;quot;450&amp;quot;&lt;/code&gt; especificada en el HTML.&lt;/li&gt;
&lt;li&gt;El tema se basa en el parámetro &lt;code&gt;theme&lt;/code&gt; especificado en la URL (&lt;code&gt;?theme=light&lt;/code&gt; o &lt;code&gt;?theme=dark&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
  </channel>
</rss>
