Полное решение

Полное решение

function init() {

// выходим, если функция уже выполнялась

if (arguments.callee.done) return;

// устанавливаем флаг, чтобы функция не исполнялась дважды

arguments.callee.done = true;

// что-нибудь делаем

};

/* для Mozilla/Firefox/Opera 9 */

if (document.addEventListener) {

document.addEventListener("DOMContentLoaded", init, false);

}

/* для Internet Explorer */

/*@cc_on @*/

/*@if (@_win32)

document.write("<script id="__ie_onload"

defer="defer" src="javascript:void(0)">

</script>");

var script = document.getElementById("__ie_onload");

script.onreadystatechange = function() {

if (this.readyState == "complete") {

init(); // вызываем обработчик для onload

}

};

/*@end @*/

/* для Safari */

if (/WebKit/i.test(navigator.userAgent)) { // условие для Safari

var _timer = setInterval(function() {

if (/loaded|complete/.test(document.readyState)) {

clearInterval(_timer);

init(); // вызываем обработчик для onload

}

}, 10);

}

/* для остальных браузеров */

window.onload = init;

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

10.8.3.1. Плохие родители: полное игнорирование потомков

Из книги автора

10.8.3.1. Плохие родители: полное игнорирование потомков Простейшим действием, которое вы можете сделать, является изменение действия для SIGCHLD на SIG_IGN. В этом случае завершившиеся потомки не становятся зомби. Вместо этого статус их завершения отбрасывается, и они полностью


Полное входное сопротивление в цепях с двумя ветвями

Из книги автора

Полное входное сопротивление в цепях с двумя ветвями В предыдущей схеме результаты достаточно просто можно было найти и без использования Probe. В более сложной схеме (рис. 2.19) найти полное входное сопротивление вручную достаточно трудно. При использовании же Probe


Полное сопротивление нагрузки, обеспечивающее максимальную передаваемую мощность

Из книги автора

Полное сопротивление нагрузки, обеспечивающее максимальную передаваемую мощность На рис. 2.9 главы 2 показан последовательный контур, предназначенный для определения полного сопротивления нагрузки, при котором в ней обеспечивается максимальная мощность. Используем


Решение

Из книги автора

Решение Все классы Cocoa, обеспечивающие сохранение информации, например NSString, UIImage и NSData, предоставляют методы экземпляра, позволяющие сохранять данные на диске по заданному


Решение

Из книги автора

Решение Пользуйтесь методом экземпляра createDirectoryAtPath: withIntermediateDirectories: attributes: error:, относящимся к классу NSFileManager, как показано далее:— (BOOL) application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions{NSFileManager *fileManager = [[NSFileManager alloc] init];NSString *tempDir = NSTemporaryDirectory();NSString *imagesDir = [tempDir


Решение

Из книги автора

Решение Используйте метод экземпляра contentsOfDirectoryAtPath: error:, относящийся к классу NSFileManager, как показано далее. В данном примере мы перечисляем все файлы, каталоги и символьные ссылки, расположенные в каталоге пакета с


Решение

Из книги автора

Решение Используйте один из двух методов экземпляра, removeItemAtPath: error: или removeItemAtURL: error:, относящихся к классу NSFileManager. Первый метод принимает путь как строку, а второй — как


Решение

Из книги автора

Решение Убедитесь, что ваш класс соответствует протоколу NSCoding, и реализуйте все необходимые методы данного протокола. Не волнуйтесь, я все подробно объясню в подразделе «Обсуждение» данного


Решение

Из книги автора

Решение Применяйте метод класса isSourceTypeAvailable:, относящийся к классу UIImagePickerController, со значением UIImagePickerControllerSourceTypeCamera следующим образом:— (BOOL) isCameraAvailable{return [UIImagePickerController


Решение

Из книги автора

Решение Инстанцируйте объект типа UIImagePickerController и представьте его пользователю как модальный вид в актуальном контроллере вида. Вот объявление этого контроллера


Решение

Из книги автора

Решение Воспользуйтесь объектом UIImagePickerController с источником типа UIImagePickerControllerSourceTypeCamera и медийной информацией типа kUTTypeMovie:— (void)viewDidAppear:(BOOL)animated{[super viewDidAppear: animated];static BOOL beenHereBefore = NO;if (beenHereBefore){/* Отображаем элемент для выбора даты только после того, как вызываетсяметод


Решение

Из книги автора

Решение Воспользуйтесь процедурой UIImageWriteToSavedPhotosAlbum:— (void) imageWasSavedSuccessfully:(UIImage *)paramImagedidFinishSavingWithError:(NSError *)paramErrorcontextInfo:(void *)paramContextInfo{if (paramError == nil){NSLog(@"Image was saved successfully.");} else {NSLog(@"An error happened while saving the


StereoMeet: «Полное стереографическое безобразие» Юрий Ильин

Из книги автора

StereoMeet: «Полное стереографическое безобразие» Юрий Ильин Конференция StereoMeet, посвящённая технологиям трёхмерного кино, прошла 28 апреля, в московском зале «Амфитеатр» – том же самом, где всякий раз проводится небезызвестный слёт специалистов по компьютерной


Полное соответствие

Из книги автора

Полное соответствие Завершая обсуждение ковариантности, полезно понять, как общий метод можно применить к решению достаточно общей проблемы. Метод появился как результат Кэтколл-теории, но может использоваться в рамках базисного варианта языка без введения новых