该代码可在Google Chrome,Microsoft Edge中运行,但在IE 11中则无法运行。IE11无法理解“异步功能”。我需要帮助将异步功能(基本上是下面的代码块)转换为IE 11可以理解的内容。
我本人可以解决Sweetalert2遇到的一些问题,但是这三个问题对我来说有点困难。
上面编写的脚本是我必须使用的脚本。您认为我还需要其他图书馆吗?
为了更加清楚,我只是将此代码放在html文件上并直接运行,而不使用除上述之外的任何其他库。
sweetalert2-如何使代码示例与IE11兼容?
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>
<!-- Optional: include a polyfill for ES6 Promises for IE11 and Android browser -->
<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.js"></script>
------------------------------------------------------------------------
const {value: password} = await Swal.fire({
title: 'Enter your password',
input: 'password',
inputPlaceholder: 'Enter your password',
inputAttributes: {
maxlength: 10,
autocapitalize: 'off',
autocorrect: 'off'
}
})
if (password) {
Swal.fire('Entered password: ' + password)
}
-----------------------------------------------------------------------
const {value: file} = await Swal.fire({
title: 'Select image',
input: 'file',
inputAttributes: {
'accept': 'image/*',
'aria-label': 'Upload your profile picture'
}
})
if (file) {
const reader = new FileReader
reader.onload = (e) => {
Swal.fire({
title: 'Your uploaded picture',
imageUrl: e.target.result,
imageAlt: 'The uploaded picture'
})
}
reader.readAsDataURL(file)
}
----------------------------------------------------------------------------
const {value: file} = await Swal.fire({
title: 'Select image',
input: 'file',
inputAttributes: {
'accept': 'image/*',
'aria-label': 'Upload your profile picture'
}
})
if (file) {
const reader = new FileReader
reader.onload = (e) => {
Swal.fire({
title: 'Your uploaded picture',
imageUrl: e.target.result,
imageAlt: 'The uploaded picture'
})
}
reader.readAsDataURL(file)
}
---------------------------------------------------------------------------
答案 0 :(得分:0)
您需要两件事:
Swal.fire
返回了Promise,如果您仅使用.then
而不是await
,则可以在无任何额外复杂性的情况下使用Promise 例如,对于第一个块:
Swal.fire({
title: 'Enter your password',
input: 'password',
inputPlaceholder: 'Enter your password',
inputAttributes: {
maxlength: 10,
autocapitalize: 'off',
autocorrect: 'off'
}
}).then(function(obj) {
var password = obj.value;
if (password) {
Swal.fire('Entered password: ' + password)
}
});
对于其他代码块,您可以遵循相同的模式。只需将箭头功能替换为标准功能即可。