«Неожиданный вызов метода или доступа к свойству».в IE с appendChild () - PullRequest
1 голос
/ 08 июля 2011
function fload(){
  f = document.createElement('iframe');
  f.setAttribute('id','iframe');
  f.setAttribute('src','http://www.wtsp.com/news/article/199268/8/man-falls-behind-on-payments-mortgage-company-has-home-trashed');
  f.setAttribute('frameborder','0');
  document.getElementById('content').appendChild(f);
}

Я пытаюсь загрузить iframe после загрузки всего остального. Выше код. В IE9 консоль показывает «SCRIPT65535: неожиданный вызов доступа к методу или свойству». указывая на строку с помощью appendChild ().

Кроме того, возможно ли загрузить iframe асинхронно?

1 Ответ

2 голосов
/ 08 июля 2011

Как сказали комментаторы, скорее всего, элемент с идентификатором content еще не существует.Кроме того, вам не нужно использовать setAttribute , просто установите свойства DOM напрямую:

function fload(){
  var f;
  var el = document.getElementById('content');

  if (el && el.appendChild) {
    f = document.createElement('iframe');
    f.id = 'iframe';
    f.src = 'http://...';
    f.frameborder = '0';
    el.appendChild(f);
  }
}

Вы не должны вызывать вышеуказанную функцию, пока не уверены, что элемент существует, скажем, послесобытие загрузки или подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...