Ich stehe mal wieder auf dem Schlauch, dabei lief der Tag eigentlich gut, aber sowas versaut mir dann wirklich alles
Code:
cc.isIgnoreUrl = function() {
// Wenn die URL in der Sperrliste ist, true senden
if(typeof Object.values !== 'function')
{
// Ersetzt die Funktion. "for ... of" Geht im IE nicht
var objectValues = Object.keys(cc.ignoreUrl).map(function(e) {
return cc.ignoreUrl[e]
});
objectValues.forEach(function (value) {
if(window.location.pathname.indexOf(value) !== -1)
{
return true;
}
});
return false;
}
else
{
for (var value of Object.values(cc.ignoreUrl))
{
if(window.location.pathname.includes(value))
{
return true;
}
}
return false;
}
};
Alles anzeigen
Diese Funktion läuft in allen Browsern, nur nicht im IE11. Das "if(typeof Object.values !== 'function')" ist Absicht, denn der IE11 kennt "Object.values" nicht und soll daher die Bedingung nutzen und nicht die darunter. Soweit so gut. Dennoch meldet mit der IE11 einen Fehler bei "for (var value of...". Genau hier steckt das Problem. Dieses "for ... of" kann er nicht, daher soll er ja das darüber nutzen.
Ich bekomme aber immer den Fehler "SCRIPT1004: ';' erwartet" und zwar genau an dem "for (var". Klar, verstehe ich, der IE erwartet da ein Semikolon, aber er soll da doch gar nicht hin, sondern den IF-Bereich darüber nutzen!
Noch seltsamer wird es, wenn ich den kompletten ELSE-Bereich lösche, dann kommt als Fehler: "')' erwartet".
Hat einer eine Idee?