web-dev-qa-db-ja.com

JSファイルがIEにロードされず、Joomla SeblodでChromeで動作します

Joomla SeblodのフィールドとしてJSを追加しました。ファイルシステムでJSファイルを呼び出しますmy_profile.js次のように

jQuery.getScript("/components/com_msp/js/my_profile.js")
    .done(function(script, textStatus) {
    console.log('inside success in seblod');
    main();
}).fail(function( jqxhr, settings, exception ) {
    console.log('JS failed in seblod..');
    console.log(JSON.stringify(jqxhr));
    console.log( "Error:" + settings + ' : ' + exception );
});

Chromeでは、JSが正しく呼び出され、すべてのコードが機能します(Inspectコンソールのseblodメッセージで内部成功も取得します)が、IEコンソールでこれを取得します-

The code on this page disabled back and forward caching.
JS failed in seblod..
Error:parsererror : SyntaxError: Expected identifier

ファイル内のコードとすべてが同じです。昨日まで、IEの変化も見ることができました。

1
manishk

_parsererror : SyntaxError: Expected identifier_は実際にはIEのJSコードで問題を引き起こしていました。私は行ごとのデバッグを行う必要があり、最終的にこれを引き起こしているコードで2つのインスタンスを見つけました-

  1. これを使用して、object- for(const [serial, dates] of Object.entries(data)) {をループしました。これをより単純なfor ... inループのように置き換えなければなりませんでした-for (var serial in data){ if (data.hasOwnProperty(serial)) {

  2. 私はsweetalertをスクリプトで使用し、その内部で.then((result) => {を使用しています。掘り下げたところ、IEは矢印演算子を使用しないことがわかりました。その代わりに、私はsweetalertアクションでqueueを使用し、基本的に同じ手順を実行しましたが、矢印演算子はありませんでした。

1
manishk