ウィンドウ内のハッシュ ポップ状態を制御するために、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リファレンスページはincludes
Internet Explorer ではサポートされていません。最も簡単な代替手段はindexOf
、次のように を使用することです。
if(window.location.hash.indexOf("?") >= 0) {
...
}