мой сценарий приведен ниже, ошибка
Uncaught TypeError: Cannot read property 'parentNode' of undefined
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName[0];
if (d.getElementById(id)) return;
js = d.createElement; js.id = id;
js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.6";
fjs.parentNode.insertBefore(js,fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
раздел просмотра
<blockquote cite = "url">
<a href = "url"></a>
</blockquote>
</div>
Это происходит, поскольку вы не добавили, какой тег получить в d.getElementsByTagName[0] ... должно быть, например, d.getElementsByTagName('div')[0]
что такое d.getElementsByTagName [0]? вы, вероятно, должны получить ошибку и в этой строке. Это document.getElementsByTagName(TagName)
videos: 108 Uncaught TypeError: Невозможно прочитать свойство parentNode из undefined в видео: 108 в видео: 109



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам необходимо передать tagName при использовании функции getElementsByTagName(), поэтому используйте
fjs = d.getElementsByTagName(s)[0]
вместо
fjs = d.getElementsByTagName[0]
<div class = "fb-video" data-href = "<? php echo $ url;?>" data-width = "500" data-show-text = "false"> <div class = "fb-xfbml- parse-ignore "> <blockquote cite = " <? php echo $ url;?> "> <a href = "url "> </a> </blockquote> </div> </div>
<script>
(function(document, s, id) {
let js;
const id = id;
const ref = document.getElementsByTagName('script')[0];
if (document.getElementById(id)) {
return;
}
js = document.createElement('script');
js.id = id;
js.async = true;
js.src = '//connect.facebook.net/en_US/sdk.js';
ref.parentNode.insertBefore(js, ref);
}(document, 'script', 'facebook-jssdk'));
</script>
<script> (function (d, s, id) {var js, fjs = d.getElementsByTagName [0]; if (d.getElementById (id)) return; js = d.createElement; js.id = id; js. src = 'connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.6'; fjs.parentNode.insertBefore (js, fjs);} (документ, 'сценарий', 'facebook-jssdk')); </script>
это URL-адрес, преобразованный для встраивания URL-адреса facebook, его работа локально, но live не работает
вы можете увидеть приведенный выше снимок экрана
Сменить версию
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName[0];
if (d.getElementById(id)) return;
js = d.createElement;
js.id = id;
js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5';
fjs.parentNode.insertBefore(js,fjs);
} (документ, 'сценарий', 'facebook-jssdk'));
Это означает, что то, что возвращается из
d.getElementsByTagName[0], не имеет свойстваparentNode, потому что в любом случае возвращает массив совпадающих элементов. Если вы пытаетесь получить доступ к конкретному элементу, почему бы вам не попробоватьdocument.getElementById()?