埋め込みタグを使用してPDFを表示しようとしています。 PDFは.NETのHTTPHandlerからロードされます。埋め込みタグ経由でPDFを読み込む方法を調べるには
PDFの表示はうまく動作しますが、ファイルの読み込みと表示が完了したら、JavaScript機能を実行できるようになっていることを知りたいと思います。
onloadeddata、onload、onloadstart、onendおよび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