У меня есть веб-ресурс для Dynamics CRM. Проект будет загружен в AppSource. Он состоит из файла. html - и файла. js. Если я пытаюсь получить элементы. html -файла с document.getElementById в. js -файле, я получаю сообщение об ошибке, что DOM-операции не поддерживаются.
Как сделать Я манипулирую своим. html -файлом с помощью. js -файла?
Как мне зарегистрировать событие клика?
Надеюсь, вы мне там поможете.
РЕДАКТИРОВАТЬ
Я только что решил первый вопрос:
Чтобы получить доступ к DOM-элементу, мне нужно было использовать этот код:
Xrm.Page.getControl(WEBRESOURCE_NAME).getObject().contentDocument.getElementById(id);
Но как мне зарегистрировать События на элементах?
РЕДАКТИРОВАТЬ 2
Я попытался зарегистрировать события следующим образом:
element.ondragenter = function() {...}
и как это:
element.addEventListener("change", function() {...})
Обе строки получают одинаковую ошибку:
'element.onclick = functionName' регистрирует или отменяет регистрацию дескрипторов события модели объекта документа (DOM) события модельно-ориентированное приложение. Этот метод не поддерживается во всех версиях Dynamics 365 и PowerApps и должен быть заменен поддерживаемым подходом для регистрации обработчиков событий на стороне клиента.
EDIT 3
Я нашел решение для регистрации события (см. Мой собственный ответ). Теперь у меня проблема в том, что я использую FileReader в своем. js -скрипте, который использует события onloadend и onerror. И, конечно, crm не позволяет мне регистрировать события в файле из-за ошибки выше.