我被困在错误的中间。我开始使用browserstack来验证我当前的项目对Windows IE和Edge进行验证,并且与IE 11遇到了一个特殊的问题。
我首先解决了我解决的问题,即FormData没有任何.get()方法,而我使用了NPM formdata-polyfill。
我使用formdata和xmlhttprequest上的本机JS登录表单工作,似乎Ajax调用根本没有启动。
单击"提交"按钮时,而不是发送到我的特定登录网址,而是将邮政请求发射到当前页面本身。
因此,显然,没有捕获事件,也没有执行JavaScript。
我的JavaScript是使用WebPack编译的,我用来获取登录表单并将适当的事件附加到以下内容的行:
: var formLogin = document.querySelector( "#form-login" );
if ( formLogin !== null )
{
var email = document.getElementById( "email" );
formLogin.addEventListener( "submit", _.validateLoginForm );
_.formInstance.init( formLogin );
_.inputUtil.disableField( '#btn-submit-email' );
_.inputUtil.disableField( '#btn-submit-password' );
utils.addAndDispatchEvent( '#email', 'input', _.inputUtil.disableSubmitIfFieldIsEmpty( '#btn-submit-email' ) );
utils.addAndDispatchEvent( '#password', 'input', _.inputUtil.disableSubmitIfFieldIsEmpty( '#btn-submit-password') );
email.addEventListener( "invalid", _.onInvalidEmail );
}
````
JS文件已正确加载到。
我不知道它可以来自哪里,因为它在任何其他浏览器上都可以很好地运行(包括我获得多填充后的边缘)。
如果您有任何想法,请告诉我!
感谢您的收听。
我的问题是我需要覆盖我对不同 e.preventDefault()
的呼叫经过 e.preventDefault ? e.preventDefault() : ( e.returnValue = false );
在IE上得到更好的支持。
从以下帖子中获取了此信息:event.preventdefault()函数在IE
中不起作用然后,我在活动中遇到了ADITIONNAL问题,并且CustomeVent类不适当支持,因此我通过添加Babel Transpiler来避免使用ES2015,但兼容JS。
。仍然完全支持IE 11的问题,但这是固定的。