2015-09-10 4 views
-1

Почему при загрузке следующей страницы в браузере браузер генерирует следующую ошибку?ТипError: document.getElementById (...) .contenteDocument.body; null

Код (test.html):

<!DOCTYPE html> 
<html> 

    <head> 
     <title>Test</title> 
     <meta charset="UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    </head> 

    <body> 

     <iframe id="frame1" src="test1.html"></iframe> 
     <br> 

     <script> 
      window.onload = function() { 
       var ele1 = document.getElementById("frame1").contentDocument.body;  
      } 
     </script> 
    </body> 
</html> 

Код (test1.html)

<html> 
    <head> 
     <title>test1</title> 
    </head> 
    <body> 

     <h1>TEST 1</h1> 
     <p> 
      Lorem ipsum dolor sit amet. 
     </p> 

    </body> 
</html> 

Ошибка:

  • на Firefox: TypeError:. Document.getElementById (...) contentDocument является нулевым
  • хром: неперехваченного SecurityError: Не удался прочитать свойство 'contentDocument' от 'HTMLIFrameElement': Blocked кадра с происхождением "нулевым" от доступа к кадру с начальным значением «null». Протоколы, домены и порты должны совпадать.

Сценария ставятся после создания кадра и идентификатора существует. Я не понимаю, где я ошибаюсь.

Я видел, что есть много подобных вопросов на StackOverflow, но havn't удалось решить ...

Спасибо большое!


Edit: Я изменил contentDocument но ошибка остается.

+4

Я считаю, что 'contenteDocument' слишком много' e's. – Teepeemm

+2

это должно быть '.contentDocument' не' .contenteDocument' – dave

+0

Возможный дубликат http://stackoverflow.com/questions/17950598/using-iframe-with-local-files-in-chrome – dave

ответ

1

Это не contenteDocument, но это contentDocument.

+0

Я исправил, что ошибка была глупой при копировании текста. Однако ошибка остается. – user3808470

+0

@ user3808470 Являются ли оба родителя и кадр из того же домена? Это не работает с перекрестным происхождением. Также вы работаете на сервере? –

+0

Что вы имеете в виду с * parent * и * frame *? Два файла (test.html и test1.html) находятся в одной папке. Нет, я не работаю на сервере. – user3808470

0

Вы ошиблись. Это contentDocument.body. Вы добавили дополнительный e.

+0

Я исправил эту ошибку, глупо при копировании текста. Однако ошибка остается. – user3808470