Javascript в Edge работает только с открытыми devtools
У меня проблема в том, что в MS edge моя функциональность imagemap работает только частично. Это приведено в действие нокаутирующим FW. На больших графических картах он не регистрирует всю графическую карту в viewmodel. В результате все эффекты наведения и стиль нажатия для графической карты перестают работать.
Однако это проблема только для больших карт изображений, также следует отметить, что у зарегистрированной части есть функция срабатывания по щелчку (только не стилизация).
Самая замечательная проблема с этим состоит в том, что я не могу отладить его, если я захожу в консоль отладки и обновляю страницу, она работает.
это код карты изображения, отображаемый с помощью Razor:
<div id="seatplan" data-bind="visible:maximumReached">
<img id="mapSeatPlan" src="@Url.Action("MyImage", "Show", new { uid = Model.Show.RowGuid })" alt="seatplan" usemap="#plan_met" />
<map name="plan_met" id="plan_met">
@foreach (var seat in seats)
{
<area shape="rect" href="#" data-seat="@seat.RowGuid" coords="@seat.CoordX,@seat.CoordY,@(seat.CoordX + seat.CoordWidth),@(seat.CoordY + seat.CoordHeight)" alt="@seat.RowName @seat.DisplayName" />
}
</map></div>
и это JS, который регистрирует области в массиве:
function buildAreas() {
var items = $('#plan_met').find('area');
var areaArray = [];
items.each(function () {
var areaName = $(this).attr('data-seat');
var fullName = $(this).attr('alt');
var newarea = {
key: areaName,
toolTip: buildToolTipArea(areaName, fullName)
};
if (isSelected(areaName)) newarea.selected = true;
areaArray.push(newarea);
});
return areaArray;
}
Код работает так, как задумано, во всех браузерах, кроме Edge, и работает в Edge так, как задумано, если инструменты разработки открыты. Есть ли какие-то ограничения на то, что может сломать JS в движке Chakra, который разблокируется с помощью инструментов dev? Если да, как я могу заставить это работать?
обновление: https://bitbucket.org/dampeebvba/issue-1303/src Я воспроизвел проблему без нокаута, мне пришлось использовать Jquery из-за плагина imagemapper. Я хотел бы еще раз подчеркнуть, что он работает в любом браузере, в том числе в Internet Explorer, и работает на грани, но только если вы обновите страницу с открытыми инструментами разработки. А также, что нажатие на краю будет работать до 140-х годов.