epub.js在IE11上没有正确加载

时间:2014-09-10 15:49:49

标签: internet-explorer-11 epub epub.js

我正在尝试使用epub.js库在我的页面上加载epub并且它不能在IE 11上运行,但它可以在Chrome和Firefox上正常工作。

我没有收到脚本错误,我没有在控制台日志中收到消息,fiddler说所有脚本(包括zip.js和我的epub)都已正确下载。

它只是没有加载,嵌入的iframe有一个src =“”属性和一个空的html主体。如下面的快照。

epub Loading Failure Snapshot

这是我的html页面内容:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="content/epubjs/epub.js"></script>
    <script src="content/epubjs/libs/zip.min.js"></script>
</head>
<body>
    <span onclick="Book.prevPage();">Prev</span>
    <span onclick="Book.nextPage();">Next</span>

    <div style="height: 700px; border: 5px solid red" id="area"></div>

    <script type="text/javascript">
        EPUBJS.filePath = "content/epubjs/libs/";
    </script>

    <script type="text/javascript">
        var Book = ePub("content/aliceDynamic.epub", {
                        version: 4,
                        restore: false, // Skips parsing epub contents, loading from localstorage instead
                        storage: false, // true (auto) or false (none) | override: 'ram', 'websqldatabase', 'indexeddb', 'filesystem'
                        spreads: false, // Displays two columns
                        fixedLayout: true, //-- Will turn off pagination
                        styles: {}, // Styles to be applied to epub
                        width: false,
                        height: '700px'
                    });

        Book.renderTo("area");

    </script>
</body>
</html>

我尝试使用options参数,将事物设置为false和true,但它没有帮助。

1 个答案:

答案 0 :(得分:1)

当前版本的epub.js和Internet Explorer 11看起来有问题。如果您尝试加载the moby dick page,您应该会看到同样的问题。

尝试在IE的javascript引擎中设置所有异常(甚至是已处理的异常)的中断,您将看到javascript抛出一个异常,说明&#34;&#39; XPathResult&#39;未定义&#34;。

要纠正的常见建议似乎是安装wicked-good-xpath library以避免缺乏XPath支持。在尝试加载epub之前安装库并初始化它。

如果这不能解决您的问题,您可能需要等到issues解决,因为您似乎并不是唯一遇到问题的人。