Определить, не поврежден ли документ IFRAME - PullRequest
0 голосов
/ 31 мая 2009

Я загружаю страницу в IFRAME, и я хотел бы знать, была ли загрузка завершена ... и HTML-код искажен, и отсутствуют закрывающие теги, такие как </body> и </html>.

Есть ли способ обнаружить это в JavaScript?

Ответы [ 2 ]

2 голосов
/ 31 мая 2009

Я не уверен, что вы можете проверять на наличие уродливого HTML или отсутствующих элементов, не зная точно, чего ожидать, и проверяя его специально.

Если у вас есть доступ к источнику страницы iframe, вы можете вызвать переменную функции javascript до конца </body>, привязанного к родительскому окну; (или используйте событие window.onLoad (), чтобы вызвать триггер вызова.)

Определите этот метод на своей странице контейнера.

window.iAmLoaded = function() { 
    alert('iframe loaded OK');
};

Затем вызовите его из iframe;

    <script type="text/javascript" charset="utf-8">    
        window.parent.iAmLoaded();    
    </script>
</body>

Если это не вариант, а iframe имеет довольно хорошо известный DOM или отличительный элемент в конце страницы, вы можете использовать getElementById или метод выбора CSS вашей любимой библиотеки, чтобы найти элемент.

0 голосов
/ 31 мая 2009

Вы можете использовать событие onLoad для iframe, чтобы сообщить, когда он завершил загрузку. http://www.w3schools.com/jsref/jsref_onload.asp

Для обнаружения искаженного HTML: Вы ищете валидатор. Браузеры этого не делают, за исключением, может быть, строгого xhtml. Там вполне может быть JS проверки программного обеспечения.

Larry

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