Я видел несколько сообщений об этом, но, похоже, я немного озадачен, почему никто из них не работает.Доступ к тегу из iFrame к его родительскому
Вот вид стека, что я пытаюсь достичь:
<html>
<head>...</head>
<body>
<div>Some stuff, images, text</div>
<div><audio id="audio"><source> src="me.mp3" /></audio></div>
<div>Some stuff, images, text</div>
<div>
<iframe src="file.html">
#document
<html>
<head>...</head>
<body>
<div><button id="stopPlay">Stop Play</button></div>
</body>
</html>
</iframe>
</div>
<div>Some stuff, images, text</div>
</body>
</html>
Было высказано предположение, что для доступа к аудио тегов, вы бы использовать что-то вроде:
window.parent.document.getElementById('audio');
Который дает мне ошибка происхождения, хотя оба файла находятся на одном сервере. Поэтому я добавляю снова, как предложено document.domain = "[email protected]"
, и поместите его в iframe и parent. Но все же дает мне ошибку, связанную с DOM.
Как я собираюсь подняться по стеку, а затем найти его, чтобы найти элемент, как бы я это сделал, когда другие предложения работали для других?
Работает отлично на моем конце, это ваш точный код? Я буквально скопировал его в два файла, и я смог манипулировать звуковым тегом из iframe. Я использовал localhost как домен. – Patrick
Это ошибка, которую я получаю:> [Ошибка] Заблокирован кадр с исходным «нулем» от доступа к кадру с нулевым значением «null». Протоколы, домены и порты должны совпадать. \t Ошибка в playparent: TypeError: undefined не является объектом (оценка 'window.parent.document.getElementById') –
Если я добавлю 'document.domain =" [email protected] "', я получаю эту ошибку в playparent : Ошибка: SecurityError: DOM Exception 18 –