Я хочу скрыть элементы сайта, загруженные в iFrame.Сценарий и сайт могут занять некоторое время, поэтому требуется, чтобы содержимое iFrame отображалось только после его изменения.
Я использую событие onload для выполнения сценария, который скрывает элементы.У меня есть доступ к содержимому iFrame (оно находится в том же домене, но не на том же сервере / сети).
function frameLoaded() {
sleep(3000); //simulating the time the script needs
var leftDiv = window.frames.testFrame.document.getElementById("leftcol");
leftDiv.style.display = "none";
}
Простая функция сна:
function sleep(milliSeconds){
var startTime = new Date().getTime(); // get the current time
while (new Date().getTime() < startTime + milliSeconds); // hog cpu
}
Когда веб-сайт сiFrame загружается в первый раз с полосой прокрутки и отображаются некоторые стилизованные элементы, но без содержимого:
http://img651.imageshack.us/img651/5082/beforeu.png
Когда сценарий завершен, страница отображается в видедолжно быть (лазурный цвет div становится скрытым):
http://img51.imageshack.us/img51/6806/afterq.png
Пока работает скрипт, ничего не должно отображаться.Достаточно либо пустого iframe, либо всего сайта, ожидающего завершения загрузки.