WebRoot/js/multi_page_viewer.js

(开头部分) 16KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- /
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */

"use strict";

var pageTimeout;

var PDFViewer = {
  queryParams: {},
  
  element: null,
  
  sidebarContentView: null,
  
  previousPageButton: null,
  nextPageButton: null,
  pageNumberInput: null,
  scaleSelect: null,
  fileInput: null,
  
  willJumpToPage: false,
  
  pdf: null,
  
  url: 'compressed.tracemonkey-pldi-09.pdf',
  pageNumber: 1,
  numberOfPages: 1,
  
  scale: 1.0,
  
  pageWidth: function(page) {
    var pdfToCssUnitsCoef = 96.0 / 72.0;
    var width = (page.mediaBox[2] - page.mediaBox[0]);
    return width * PDFViewer.scale * pdfToCssUnitsCoef;
  },
  
  pageHeight: function(page) {
    var pdfToCssUnitsCoef = 96.0 / 72.0;
    var height = (page.mediaBox[3] - page.mediaBox[1]);
    return height * PDFViewer.scale * pdfToCssUnitsCoef;
  },
  
  lastPagesDrawn: [],
  
  visiblePages: function() {
    const pageBottomMargin = 10;
    var windowTop = window.pageYOffset;
    var windowBottom = window.pageYOffset + window.innerHeight;

    var pageHeight, page;
    var i, n = PDFViewer.numberOfPages, currentHeight = pageBottomMargin;
    for (i = 1; i <= n; i++) {
      var page = PDFViewer.pdf.getPage(i);
      pageHeight = PDFViewer.pageHeight(page) + pageBottomMargin;
      if (currentHeight + pageHeight > windowTop)
        break;
      currentHeight += pageHeight;
    }
    
    var pages = [];  
后面还有 474 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读 AI

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。