Проблема заключается в том, что IE (9-edge) блокирует только одну часть моего javascript, который устанавливается. Хотя я могу отказаться от настроек безопасности, чтобы отобразить желаемый эффект, я не могу попросить пользователей сделать то же самое. Я уверен, что здесь что-то отсутствует, так как остальная часть кода отображается правильно.IE не отображает цвет фона на div
$.each(data.results.audio, function(key, val) {
var replace = val.mp3Url.replace('&', '&');
if (val.imgUrl) {
status = "style='background:";
switch (val.roadCondition) {
case "1":
status += "#4CAF50'"; // green
break;
case "2":
status += "#FFEB3B'"; // yellow
break;
case "3":
status += "#D32F2F'"; // red
break
case "4":
status += "black'"; // black
break;
default:
status += "white'"; // white
}
}
var items2 = "<div class='bt_icon z-depth-5 hvr-round-corners'" + status + "><p class='shine waves-effect waves-green hvr-round-corners'><img id='" + key + "' class='majors ' src='" + val.imgUrl + "' alt='" + val.name + "' title='" + val.name + "' data-audio='" + replace + "' /></p></div>";
$("#button_icons").append(items2);
if (first && !isDone) {
isDone = true;
var audio = document.querySelector("audio");
audio.src = replace;
audio.load();
}
items.push(items2);
});
ПРИМЕЧАНИЕ: фоновый цвет имеет тот же эффект.
Остальная часть кода работает отлично, за исключением того, что переменная «статус» устанавливается. Chrome, Firefox и Safari отображаются правильно. Но в IE кажется, что вышеупомянутый «статус» код никогда не вводится. Он не отображается в dom в инструментах dev. Единственный способ получить весь код для показа - это сбросить настройки безопасности на носитель и перезагрузить страницу. Любые объяснения/исправления?
возможно потребности IE двойные кавычки вокруг значения атрибутов для их применения. –
Результат интерпретируется как двойная кавычка. По крайней мере, насколько я знаю в DOM хром, firefox и Safari. Но хорошая мысль. – messif
класс и стиль (которые не должны быть встроены ...) касаются друг друга без промежутка между ними. Это, безусловно, достаточно, чтобы выбить IE. –