open-pay / openpay-js

Openpay Javascript bindings
Apache License 2.0
24 stars 28 forks source link

Synchronous XMLHttpRequest error #17

Closed amhhernandez closed 3 years ago

amhhernandez commented 5 years ago

Al momento de configurar el id y el ApiKey para la generación de tokens desde OpenPay JS, veo que se hace el siguiente warning:

[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/

Sé que esto no repercute en la funcionalidad de la librería pero ayudaría a mantener un código apegado a los estándares.

Reciban un saludo.

germanamz commented 5 years ago

El problema se origina desde el sistema antifraudes.

Por el momento no debe de haber problemas al usarlo, sin embargo en futuras versiones de navegadores puede que la forma en la que se esta comunicando deje de funcionar.

Según la documentación de whatwg.org la solución es hacer esto dentro de un webworker.

Synchronous XMLHttpRequest outside of workers is in the process of being removed from the web platform as it has detrimental effects to the end user’s experience. (This is a long process that takes many years.) Developers must not pass false for the async argument when current global object is a Window object. User agents are strongly encouraged to warn about such usage in developer tools and may experiment with throwing an "InvalidAccessError" DOMException when it occurs.

Esta nota fue publicada hace un año en este commit [Fuente](https://xhr.spec.whatwg.org/#the-open()-method)

Hacer un webworker dentro de los iframes que se piden para el sistema antrifraudes debe ser una buena solución sin afectar severamente la estructura del código.