Cross-Browser Document Pagination via DOM Layout Engine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current web browsers lack standardized pagination algorithms, making it difficult for developers to implement consistent and flexible pagination across different browsers, especially for web-based document editing applications, as each browser implements pagination differently and often lacks customization options.
Innovation Solution
Implementing JavaScript-based pagination logic that leverages the built-in document layout engine of web browsers for layout measurement and creation, allowing for cross-browser compatibility and efficient pagination without relying on custom code, and enabling easy extension and customization for various pagination requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If web browsers implement native pagination algorithms, then pagination functionality is available, but consistency and flexibility across different browsers deteriorates due to lack of standardization
Solution Approach 1:
The patent introduces a standardized pagination API as an intermediary layer between the browser's native pagination functionality and the web application. This API acts as a mediator that translates diverse browser implementations into a uniform interface, allowing applications to achieve consistent pagination behavior across different browsers without relying on browser-specific native implementations.
Solution Approach 2:
The patent creates a universal pagination API that works across all web browsers regardless of their native pagination implementations. This universal interface allows a single codebase to achieve pagination functionality in all browsers, eliminating the need for browser-specific customization while maintaining consistency through standardized methods and properties.
2Adaptability or versatility
If custom pagination code is implemented for each browser, then flexibility and customization options improve, but device complexity and implementation difficulty worsens
Solution Approach 1:
The patent establishes a universal pagination API that provides consistent functionality across all browsers through a single implementation. This universal approach maintains flexibility and customization capabilities while dramatically reducing implementation complexity by eliminating the need for separate custom pagination code for each browser.
3Productivity
If built-in browser pagination is used, then pagination is available without additional code, but control and customization options deteriorates due to limited or no configuration options
Solution Approach 1:
The standardized pagination API serves as an intermediary that preserves the efficiency of built-in browser pagination while adding a layer of control and customization. The API maintains references to native pagination functions where available but wraps them with standardized configuration options, allowing applications to customize pagination behavior while still leveraging browser-native performance.
Solution Approach 2:
The patent implements dynamic pagination configuration where the pagination behavior can be adjusted through standardized API parameters. The system dynamically adapts between using native browser pagination (when available and appropriate) and customized pagination logic (when specific requirements demand), providing both productivity and adaptability.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
Cross-browser techniques for efficient document pagination are provided. In certain embodiments, a computer system can receive an indication of a starting point for a page in a content flow of a document and build a DOM tree of content elements in a portion of the content flow spanning from the starting point to an estimated ending point, the estimated ending point being an estimated ending boundary for the page. The computer system can further invoke an API that causes a web browser layout engine to create a layout of the page based on the DOM tree and determine, based on the layout and content flow, one or more content elements in the content flow that fall beyond an actual ending boundary of the page. The computer system can then remove the determined content elements from the DOM tree and add the DOM tree to a page set for the document.