включить режим дизайна iframe - PullRequest
2 голосов
/ 03 августа 2011

у меня есть iframe и в javascript я включаю режим дизайна следующим образом

iframe.contentDocument.designMode="on";

, который отлично работает, если я создаю свой встроенный iframe. но если я загружаю свой iframe с атрибутом "src" на родительской странице и включаю режим разработки следующим образом:

iframes=document.getElementsByTagName('iframe');
for(iframe in iframes)
{
iframes[iframe].contentDocument.designMode="on";
}

тогда это не работает. Как я могу включить режим разработки iframe со страницы контейнера, если я загружаю iframe, указав атрибут src? не встроенный !! Спасибо

1 Ответ

4 голосов
/ 03 августа 2011

В зависимости от браузера существует несколько потенциальных проблем:

  • не все браузеры (особенно старые) поддерживают contentDocument
  • for...in не гарантируетсяработать на NodeList, что и возвращает getElementsByTagName().Вместо этого используйте цикл for.
  • , возможно, вам придется подождать загрузки всех фреймов.Событие load основного документа будет запускаться только после загрузки всех iframe.

В противном случае, если iframe обслуживается из того же домена, можно установить designMode его документасвойство из содержащегося документа.Следующее должно работать:

window.onload = function() {
    var iframes = document.getElementsByTagName('iframe');
    for (var i = 0, len = iframes.length, doc; i < len; ++i) {
        doc = iframes[i].contentDocument || iframes[i].contentWindow.document;
        doc.designMode = "on";
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...