Knockout SCRIPT5022: WrongDocumentError в IE 11 - PullRequest
0 голосов
/ 22 января 2020

У меня есть приложение с нокаутом. js

В IE 11 я получаю ошибку

SCRIPT5022: WrongDocumentError

У меня есть попытался найти причину этой проблемы. Через некоторое время я думаю, что это может быть связано с спецификацией (меткой порядка байтов), поскольку этот символ возвращается в файлах с выбыванием / html.

<div class="container-fluid explore">
...
</div>

Итак, я прав насчет спецификации и ошибки? Если да, то как отключить его из моих просмотров? Я пытался сохранить некоторые виды без кодирования, но, похоже, это не помогло.

Я использую VS2017.


Это своего рода стек вызовов, где я могу go текущее / ошибочное место https://prnt.sc/qxgj6b


UPD:

Наконец мне удалось найти место, где возникает это исключение.

Так что в основном в нокауте возможно создание пользовательских компонентов. Они могут выглядеть как пользовательские теги html с некоторыми данными в качестве переданных параметров.

my-dropdown - это мой пользовательский компонент, который должен быть "переведен" в следующий html:

<select class="my-dropdown" data-bind="options: data, optionsText: optionText, optionsValue: optionValue, value: selectedValue">

В нокауте этот «перевод» делается следующим образом (если я правильно понял):

b.appendChild(c[d])

, где b - это [object HTMLUnknownElement] которые представляют мой пользовательский компонент в html файле <my-dropdown>...</my-dropdown> c [d] - это [object HTMLSelectElement], что является моим "переводом" компонента <select>...</select>

Итак, .appendChild выдается ошибка.

...