ePub书籍中的分页和图像

时间:2012-02-20 08:52:34

标签: javascript iphone ios ipad epub

我构建了一个epub引擎,可以读取ePub books的许多功能,如分页,添加注释,突出显示,搜索等。一切正常,但我遇到了2个问题。

  • 第一个:你知道的分页功能是一个JavaScript函数,它将html文件的内容分成基于加载它的web-view框架的页面,因为html可能包含文本和图像图像也可能是分页,因此它将分为2页,这不会使我想要整个图像出现的场景特别是封面页。

  • 第二个:我通常在本章末尾有一个空白页面(html文件)..你知道我怎么能阻止它?

  

这些是我用于分页的JavaScript函数:

function setupBookColumns(){
    var body = document.getElementsByTagName('body')[0].style;
    body.marginLeft = 0;
    body.marginRight = 0;
    body.marginTop = 0;
    body.marginBottom = 0;


    var bc = document.getElementById('book-columns').style;

    bc.width = (window.innerWidth * 2) + 'px !important';
    bc.height = (window.innerHeight-kMaxFont) + 'px !important';
    bc.marginTop = '0px !important';
    bc.webkitColumnWidth = window.innerWidth  + 'px !important';
    bc.webkitColumnGap = '0px';
    bc.overflow = 'visible';

    if ( gCurrentPage < 0 )
        gCurrentPage = 1;
    gProgress = gPosition = 0;

    var bi = document.getElementById('book-inner').style;
    bi.marginLeft = '0px';
    bi.marginRight = '0px';
    bi.padding = '0';

    gPageCount = document.body.scrollWidth / window.innerWidth;

    // Adjust the page count to 1 if it's invalid
    if (gPageCount < 1) {
        gPageCount = 1;
    }
}


function paginate()
    {   

    if (gClientHeight == undefined) {
        gClientHeight = document.getElementById('book-columns').clientHeight;
    }

    var leftBlocker = document.getElementById('left-blocker');
    var parent = leftBlocker.parentNode;
    parent.removeChild(leftBlocker);
    leftBlocker.style.left = '-200px';

    var rightBlocker = document.getElementById('right-blocker');
    parent.removeChild(rightBlocker);
    rightBlocker.style.left = '-200px';

    setupBookColumns();

    parent.appendChild(leftBlocker);
    parent.appendChild(rightBlocker);
}

我在h webView加载完成后加载html文件(章文件)我调用上面发布的paginate函数..这会根据文本量,文本大小给出一些页面什么持有文本的框架(在我的情况下是webView)..所以我可以使用JavaScript函数goForward和goBack。

0 个答案:

没有答案