Я пытаюсь отобразить PDF с помощью тега embed. PDF загружается из HTTPHandler в .NET.Как узнать, когда PDF загружается с помощью встроенного тега
Отображение PDF прекрасно работает, но я хочу знать, когда файл будет загружен и отображен, поэтому я могу запустить функцию JavaScript.
Я попытался привязать обработчик события для onloadeddata, onload, onloadstart, onended и onplay, но никто из них никогда не попадает.
Является ли это тем, что я хочу сделать возможным? Если да, то какое событие я могу поймать?
<embed [email protected] id="pdfiFrame" type="application/pdf" alt="pdf" style="width: 100%; height: 99.4%;" frameborder="0" pluginspage="http://www.adobe.com/products/acrobat/readstep2.html" onloadeddata='tryThis;' onload="tryThis;" onloadstart="tryThis;", onended="tryThis;" onplay="tryThis;"/>
function tryThis(arg) {
alert("here = " + arg);
}
Путь определяется в переменной в представлении MVC Razor.
Выполнение чего-либо из самого обработчика не является вариантом, так как я также кэширую результаты, поэтому обработчик не будет попадать во второй раз для того же файла.
Вы поднимаете интересный момент о том, чтобы не обязательно загружать все это. То, что я действительно хочу сделать, это установить на странице показатель модальности прогресса, пока документ не будет готов для просмотра. Это не означает, что все это есть, только первая страница видна. Любые мысли о том, как сделать эту часть? – ChrisC
Adobe Reader будет делать это, но это довольно угадано, если только он не оптимизирован для веб-сайтов, и вероятность того, что он является программой просмотра PDF по умолчанию, в наши дни довольно низок. Проблема, с которой вы столкнулись, заключается в том, что обычный просмотрщик PDF не знает, какие байты из файла необходимы для любой страницы. Объекты являются случайным доступом, и объект страницы может ссылаться на любое количество других объектов, которые могут быть общими или быть уникальными для этой страницы. Зритель узнает, что объект ссылается на другой набор объектов, когда он его читает. – joelgeraci