File API Чтение и обработка локального файла
Я чего-то не понимаю в обработке событий, видимо. Задача такая. Нахожу локальный файл .svg через <input...>. Затем загружаю его в виде субдокумента с помощью <object...>. Затем обрабатываю его, как я думаю, после загрузки.
Если ставлю alert(...). перед ....add.EventListener("load".....), то все срабатывает прекрасно. Файл успевает подгрузиться и обработчик его обрабатывает. Если alert(...) нет, то обработчик не получает файл и ничего не работает. Вот код: <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink"> <meta charset="utf-8"> <head> <title>sborka_14-12-31</title> </head> <body> <p>sborka_14-12-31</p> <input type="file" onchange="LoadFile()"/> <object class="Shema" data="" width="1280" height="1024" type="image/svg+xml"></object> <script id="script" language="javascript" type="text/javascript" src="ANIMATOR_14-12-29.js"> //содержит функции обработки графики </script> <script id="script" language="javascript" type="text/javascript"> function LoadFile() { var infile = document.querySelector('input[type=file]').files[0]; var elm = document.querySelectorAll('.Shema')[0]; if(elm.data != undefined) elm.data=infile.name; alert(' == Анимация? ==\n'+elm.data); //без задержки загрузка не происходит document.getElementsByTagName('object')[0].addEventListener("load", ANIMATION(elm.contentDocument), false); } </script> </body> </html> Уже голову просто сломал. Что я тут не понимаю? Как запустить обработчик ANIMATION(...) точно после завершения загрузки файла? |
Часовой пояс GMT +3, время: 13:24. |