I've implement the Magento PayPal Captcha module and everything is working great except for IE11. When I pass the captcha and click Place Order on the billing step I get the following error in the browser:
SCRIPT65535: Argument not optional
and links to a minified/bundled file.
After un-bundling my js
(php bin/magento config:set dev/js/enable_js_bundling 1
) I see that the error is coming from the list-mixin.min.js file. When I search the codebase for list-mixin
, I get the following file:
vendor/magento/module-paypal-captcha/view/frontend/web/js/view/payment/list-mixin.js
. This file is declaring a clearTimeout function to override the window.clearTimeout() function. However, there is no parameter for this function. If I throw a junk parameter into this file, the console error goes away, but I can't proceed to the order confirmation step. It just spins and I stay on that page - No console errors or log entries.
Based on some googling, it looks as though most browsers handle the lack of a parameter in clearTimeout() function, but IE11 does not. The parameter is required and is the ID value of the timer returned by the setTimeout() method.
TLDR:
- How do I determine what setTimeout() call is referenced in a clearTimeout() call so I can pass the correct parameter?
- Has anyone else come across this issue on Magento2?
Thanks!