Как установить innerHTML некоторого элемента в окне, открытом объектом окна JavaScript?

У меня есть простой код JavaScript, подобный этому:

<code><script type="text/javascript">
   function openWindow() {
     var mywindow = window.open("file.html");
     mywindow.document.getElementById("foo").innerHTML="Hey you!!";
   }
</script>
</code>

Эта функция вызывается с событием onclick. Окно открывается нормально, но элемент innerHTML не изменяется. Это файл, которым я владею, поэтому я знаю, что меня не блокирует какая-либо политика безопасности, а также элемент с идентификатором 'foo' apos; определенно существует. (Это DIV). Я пробовал другие варианты .innerHTML, такие как .src и .value, но, похоже, ничего не работает. У кого-нибудь есть предложения?

Ответы на вопрос(2)

Проблема в том, что вы, скорее всего, пытаетесь получить доступ к DOM нового окна, прежде чем это окно сможет завершить загрузку.

Учтите следующее:

<script type="text/javascript">
   function openWindow() {
     var mywindow = window.open("file.html");

     // register an onload event with the popup window so that we attempt to 
      // modify it's DOM only after it's onload event fires.
     mywindow.onload = function() {
         mywindow.document.getElementById("foo").innerHTML="Hey you!!";
     }

   }
</script>

Просто обратите внимание ... Даже после исправления времени вы можете иметь ошибки с этим, если вы разрабатываете на локальном компьютере, а не в Интернете или на локальном сервере. Я просто потратил час, пытаясь выяснить, почему это не сработало, затем загрузил тот же код на мой сервер, и он работал нормально. Я использовал код, который я запускал локально 2 года назад, но в другом браузере, изменил несколько строк и браузер, и он перестал работать до запуска на сервере. Надеюсь, это кому-нибудь поможет.

Ваш ответ на вопрос