2009-05-31 3 views
0

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

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

+2

HTML-документ с отсутствующими тегами конца для элементов body и html не является искаженным - они определены как необязательные в спецификации. – Quentin

+0

Хорошая точка, хотя на практике это редко. –

ответ

2

Я не уверен, если вы можете проверить искаженной 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 вашей любимой библиотеки, чтобы найти элемент ,

-3

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

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

Ларри

+0

Строгий/переходный не имеет значения. Браузеры задушат разбор любого XHTML-образа, не сформированного в XML-режиме (т. Е. При подаче документа с правильным типом контента). Большинство браузеров, поддерживающих XHTML, предложит снова попробовать синтаксический анализ в режиме суп-тега. Документ может быть хорошо сформирован, но не является действительным. – Quentin

 Смежные вопросы

  • Нет связанных вопросов^_^