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-х годов.

0 ответов

Другие вопросы по тегам