IE11 で `window.location.hash.includes` を使用すると「オブジェクトはプロパティまたはメソッド 'includes' をサポートしていません」というエラーがスローされる 質問する

IE11 で `window.location.hash.includes` を使用すると「オブジェクトはプロパティまたはメソッド 'includes' をサポートしていません」というエラーがスローされる 質問する

ウィンドウ内のハッシュ ポップ状態を制御するために、URL に が含まれているかどうかを確認しています?。他のすべてのブラウザでは問題は発生していませんが、IE でのみ問題が発生しています。

この方法でロードしようとすると、デバッガーから次のエラーが表示されます。

オブジェクトはプロパティまたはメソッド ' includes'をサポートしていません

popstate 経由でページを読み込むときにエラーは発生しません。

    $(document).ready(function(e) {
        if(window.location.hash) {
            var hash;
            if(window.location.hash.includes("?")) {
                alert('I have a ?');
                hash = window.location.hash.substring(window.location.hash.indexOf('#') + 0,window.location.hash.indexOf('?'));
            }else {
                hash = window.location.hash;
            };
            if (hash=="#DRS" || hash=="#DRP" || hash=="#DFFI" || hash=="#DCI" || hash=="#DCP" || hash=="#DRP" || hash=="#DRMA" || hash=="#EICS" || hash=="#ORG"){
                $(hash+'Content').addClass('pageOn').removeClass('pageOff');
            }else {
                $('#homeContent').addClass('pageOn').removeClass('pageOff');
            };
        } else {
            $('#homeContent').addClass('pageOn').removeClass('pageOff');
        }
        $(window).on('popstate', function() {
            var hash;
            if(window.location.hash.includes("?")) {
                hash = window.location.hash.substring(window.location.hash.indexOf('#') + 0,window.location.hash.indexOf('?'));
            }else {
                hash = window.location.hash;
            };
            if (hash=="#DRS" || hash=="#DRP" || hash=="#DFFI" || hash=="#DCI" || hash=="#DCP" || hash=="#DRP" || hash=="#DRMA" || hash=="#EICS" || hash=="#ORG"){
                $(this).navigate({target: $(hash+'Content')});
                if(window.location.hash.includes("?")) {
                }else{
                    location.href = location.href+'?';
                }
            }else {
                $(this).navigate({target: $('#homeContent')});
            };
        });
});

ベストアンサー1

によるMDNリファレンスページincludesInternet Explorer ではサポートされていません。最も簡単な代替手段はindexOf、次のように を使用することです。

if(window.location.hash.indexOf("?") >= 0) {
    ...
}

おすすめ記事