Skip to content
Ilya edited this page May 15, 2014 · 10 revisions

FB3Reader documentation

FB3Reader is a set of classes for browser-based eReaders. Some classes are provided as a template and should be rewritten by the consumer (the main examples of this are FB3ReaderSite members - these should always be redefined in place).

Some classes are ready-to-use but should be rewritten by consumers in several cases. Say, FB3DataProvider has AJAXDataProvider while implementing the reader on, say, iOS you may want to access your data without browser-powered HttpRequest. This classes could be sometimes rewritten using the native code and just provide the expected interfaces.

And there are some classes, like [FB3DOM.DOM](FB3DOM module, DOM class) or FB3Reader.Reader, which you are definetly not expected to change in 99% of cases, but just use them as they are (or why would you use FB3Reader if you have a ready-to-use reader? I wouldn't).

Modules in FB3Reader engine

Module Quick description
FB3ReaderSite The site for the reader. Provides all the necessary interfaces for the reader to interact with a user. Mostly consumer-defined (example implementation provided).
FB3DataProvider "Physical-level" data access implementation mechanics. Includes interfaces and AJAX-based implementation for data retrieval.
FB3DOM Internal document tree implementation, consistent export of an arbitrary part to HTML. Top-level logic for data retrieval, document representation blocks and retrievable chunks relations.
FB3Reader The reader engine itself. Renders pages, processes events, relays for anything outside canvas for other modules.