Widgets de Serveis Externs

Colección de widgets ligeros y auto-contenidos listos para insertar con un único <script>.

Guía de integración de widgets

Todos los widgets siguen el mismo patrón: un único script, opcionalmente con configuración embebida o global.

Patrón 1 · Atributo en el script

<!-- Reemplaza my-widget y la versión por la que corresponda -->
<script
  src="https://static.serveisexterns.com/js/my-widget.v1.0.js"
  data-config='{"opcion":"valor"}'
></script>

Patrón 2 · Configuración global

<script>
  window.MY_WIDGET_CONFIG = { opcion: 'valor' };
</script>
<script src="https://static.serveisexterns.com/js/my-widget.v1.0.js"></script>
  • Versionado: usa archivos versionados (ej.: .v1.0.js).
  • Sin dependencias: widgets en JS nativo, ligeros.
  • Accesibilidad: cada widget documenta sus atajos y roles.
  • SEO: si aplica (p. ej., i18n), sigue las notas de la sección.

Pestañas de demostración

Widget: Selector de Idioma flotante

Widget fijo en la esquina inferior derecha, con banderas, nombres, menú desplegable y soporte móvil/escritorio. No requiere dependencias ni cuentas externas.

  • Un solo script
  • Responsive
  • Sin dependencias (JS nativo)
  • Configurable por atributo data-languages o por window.LANG_SWITCHER_CONFIG

Uso rápido (V1)

Copia y pega antes de </body> en tu página:

<script
  src="https://static.serveisexterns.com/js/lang-switcher.v1.0.js"
  data-languages='[
    {"code":"fr","name":"Français","flag":"https://flagcdn.com/fr.svg","url":"https://tusitio.com/"},
    {"code":"es","name":"Español","flag":"https://flagcdn.com/es.svg","url":"https://tusitio.com/es/"},
    {"code":"en","name":"English","flag":"https://flagcdn.com/us.svg","url":"https://tusitio.com/en/"}
  ]'
></script>

Alternativamente, define la configuración global y carga el script sin atributos:

<script>
  window.LANG_SWITCHER_CONFIG = {
    languages: [
      { code: 'fr', name: 'Français', flag: 'https://flagcdn.com/fr.svg', url: 'https://tusitio.com/' },
      { code: 'es', name: 'Español',  flag: 'https://flagcdn.com/es.svg', url: 'https://tusitio.com/es/' },
      { code: 'en', name: 'English',  flag: 'https://flagcdn.com/us.svg', url: 'https://tusitio.com/en/' }
    ]
  };
</script>
<script src="https://static.serveisexterns.com/js/lang-switcher.v1.0.js"></script>

Notas