Вставить блок iframe в личный кабинет пользователся
Есть сms для управления сайтом, нужно вставить в личном кабинете пользователя видео инструкцию, но прямого доступа к нему нет, пытался вставить JS'ом, код выполняется но ничего не выводит ни в консоль ни на экран
<script type="text/javascript">
let elem = document.getElementsByTagName("div");
document.addEventListener('click', func, false);
function func () {
for (let i = 0; i < elem.length; i++) {
if (elem[i].classList.contains('loggedInStateButtons')) {
document.addEventListener('click', funct, false);
function funct () {
for (let i = 0; i < elem.length; i++) {
if (elem[i].classList.contains('documents')) {
document.addEventListener('click', funct, false);
function funct () {
for (let i = 0; i < elem.length; i++) {
if (elem[i].classList.contains('uploaded-documents')) {
console.log ('chln')
let paret = document.getElementsByClassName('upload__table')[0];
let d = document.createElement('div');
d.innerHTML = '<iframe width="560" height="315" src="https://www.youtube.com/embed/70y94zG1-jU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
d.className='vid_verif';
paret.appendChild(d);
};
};
};
};
};
};
};
};
};
</script>
Ответы (1 шт):
Автор решения: Zombotron
→ Ссылка
Вообще, нужно типа такое:
<script defer>
let paret = document.getElementsByClassName('upload__table')[0];
let d = document.createElement('div');
d.innerHTML = '<iframe width="560" height="315" src="https://www.youtube.com/embed/70y94zG1-jU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
d.className='vid_verif';
paret.appendChild(d);
</script>
defer запускает скрипт после загрузки всей страницы.
Или просто в конце его прописать.
Но если элемент формируется скриптом, то можно добавить проверку наличия элемента в ОДНОМ цикле while с задержкой в полсекунды. но это изврат - гуглим "js событие при появления элемента".