Spectrum Color-Picker не работи в Internet Explorer

Използвам Spectrum Color picker в javascript проект, върху който работя. https://bgrins.github.io/spectrum/ Работи добре във FireFox, но не и в Интернет Изследовател. Елегантният изскачащ прозорец за избор на цвят се деградира до просто поле за въвеждане на текст. Ето частта от кода, която създава полето за въвеждане:

function updateTables() {
$("#tableTwo tbody").empty();
for (var i = 0; i < polygons.length; i++) {
    //var pColor = new RGBColor();
    var pColor = rgbaToHex(polygons[i].color);
    $("#tableTwo tbody").append('\n<tr '
                                + (selectedPoly == i ? 'style="color:white;background-color:red"' : '')
                                + '><td><input onchange="changeGeometryName(' + i + ')"'
                                + (selectedPoly != i ? 'onfocus="polySelectedFromTable(' + i + ')"' : '') + 'type="text" size="11" '
                                + 'id="polygonName' + i + 'Input"  value="' + polygons[i].name + '" /></td>' + "<td><input type='color'"
                                + ' onchange="setColor(' + i + ')" id="color' + i + '" value="' + pColor + '"/></td>' + "</tr>");
}

}

И тогава имам тези два реда в моя HTML файл:

<script src='spectrum.js'></script>
<link rel='stylesheet' href='/bgspectrum.css' />

В документацията се казва, че въвеждането ще се деградира до въвеждане на текст, ако javascript не работи, но знам, че това не може да е проблемът, тъй като останалата част от проекта работи добре. Всяка помощ е високо ценена!


person DireDrop    schedule 28.07.2015    source източник


Отговори (1)


Oh hi!

И така, първо, документацията за спектъра беше малко объркваща относно това, така че ми отне известно време да намеря, но отговорът всъщност е наистина, наистина тъп, след като го намерите:

Не използвате спектър.

И така, първо, в документацията се казва:

Ако просто искате да предоставите polyfill за основния входен цвят, най-лесният начин е да създадете вход с типа цвят. След като браузърът на потребителя поддържа естествен контрол на цветовете, той ще избере да използва собствения контрол вместо това. Spectrum Docs

И така, това е, което се опитвахме да направим, без да осъзнаваме, че всъщност не използваме спектър. Вместо това използвахме спецификацията на HTML 5 цветен входен тип, който не се поддържа от IE (Вижте цветен вход поддръжка на тип)

И така, за да активираме спектъра, всъщност трябва да направим повикване до библиотеката на спектъра и след това работи:

$('#color' + id).spectrum({ color: pColor(, other-parameters-here)});
person Max Feldkamp    schedule 25.09.2015