Angular 7 использует элемент dom в чистом JS

#javascript #angular #typescript #internet-explorer #webcam

#javascript #angular #typescript #internet-explorer #Вебкам

Вопрос:

Привет, я использую библиотеку webcamJS в своем проекте Angular (потому что мне нужно использовать веб-камеру в IE 11), в этой библиотеке есть функция с именем «прикрепить», и она получает идентификатор элемента, в котором отображается изображение, когда я передаю свой идентификатор div, он не распознается в библиотеке, если япроверьте в инспекторе браузера, правильный идентификатор div.

вот мой html

 <div  #my_camera ></div>   <!--div  id="my_camera" ></div -->   
 

и мой Ts, который использует чистую функцию JS

 Webcam.attach("#my_camera");
 

я пробовал без #, но то же самое.

ошибка в библиотеке: «Не удалось найти элемент DOM для подключения».

Каков наилучший способ использовать JS в моей TS? Почему JS не распознает идентификатор моего DIV?

С уважением.

Комментарии:

1. Можете ли вы показать, где вы используете Webcam.attach("#my_camera") . И почему ваш div с идентификатором «my_camera» прокомментирован?

2. Я хочу уточнить у вас, работает ли ваш код для других браузеров или выдает аналогичную ошибку? Убедитесь, что вы разместили сайт на веб-сервере. Попробуйте выполнить тест с использованием протокола HTTPS. Убедитесь, что Flash включен для браузера IE. Кроме того, убедитесь, что вы не используете приведенный выше код в модели или диалоговом окне. Это может вызвать аналогичную ошибку .

3. div с id прокомментирован, потому что я пытался ввести id двумя способами ( # и id=»» ), но это та же ошибка. я использую метод attach в методе ngAfterViewInit. ` ngAfterViewInit{ Webcam.attach(«#my_camera») } ` В других браузерах — это та же ошибка, которую я пробовал в Fire Fox, Chrome и IE 11.

4. Согласно вашему предыдущему комментарию, мы видим, что вы получаете ту же ошибку и в других браузерах. Исходя из этого, мы можем сказать, что эта проблема конкретно не связана с браузером IE. В вашем коде есть какая-то проблема, которую вам, возможно, потребуется решить, чтобы исправить эту проблему.

Ответ №1:

Попробуйте это

HTML:

 <div  #my_camera ></div>
 

TS:

 @ViewChild('my_camera') myCamaraView : ElementRef;
Webcam.attach(myCamaraView);
 

Для получения дополнительной информации проверьте это: https://www.techiediaries.com/angular-elementref /

Комментарии:

1. И не забудьте отключить ngDestroy!