私は正確に SweetAlert2サンプルページ のコードを使用しています:
swal({
title: 'Are you sure?',
text: "You won't be able to revert this!",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.value) {
swal(
'Deleted!',
'Your file has been deleted.',
'success'
)
}
})
FirefoxとChromeで正常に動作しますが、InternetExplorerはSCRIPT1002: Syntax Error
を表示し、スクリプトを実行しません... IEはこの部分に構文エラーのフラグを立てます。
}).then((result) => {
助けてくれてありがとう
(result) => {}
は、IEでは完全にサポートされていない矢印関数です。これを修正するには、従来の匿名関数を使用する必要があります。
swal({
// options...
}).then(function(result) {
if (result.value) {
swal('Deleted!', 'Your file has been deleted.', 'success');
}
});
IE11は、 矢印関数 や 約束 などの最新のES6機能をサポートしていません。
これを修正するには、Babelを使用してコードをコンパイルするか、従来のfunction
構文で Promise-polyfill を使用する必要があります。
swal(...)
.then(function(result) {
console.log(result.value)
})
SweetAlert2の使用法についてもっと読む: https://github.com/sweetalert2/sweetalert2#usage
Result.value
私の終わりには機能していません。これが私のコードです:
.then(function (result) {
if (result) {
//Implement Ajax here....
swal({
title: "Error!",
text: " Data was used and can't be deleted.",
icon: "error",
button: "Ok!",
});
}
});
匿名関数に加えて、IEでswalを完全に機能させるには、必要な追加およびスクリプトタグ
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/core.js"></script>