在本地机器上使用 WebODF

Using WebODF on local machine

我想以最简单的形式使用 WebODF:http://www.webodf.org/start/ 只是为了在网络浏览器中显示 ODT 文档。 在我 "duplicated" 这个问题之前,我已经阅读了所有这些帖子:https://whosebug.com/search?q=webODF

我在同一本地文件夹 (c:\Data) 中有以下内容: - webODTTest.html - Try.odt - webodf.js

根据上面的 link,ODTTest.html 看起来像这样:

<html>
    <head>
        <script src="webodf.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript" charset="utf-8">
        function init() {
        var odfelement = document.getElementById("odf"),
            odfcanvas = new odf.OdfCanvas(odfelement);
            odfcanvas.load("Try.odt");
        }
        window.setTimeout(init, 0);
        </script>
    </head>
    <body>
        <div id="odf"></div>
    </body>
</html>

当我尝试在浏览器中加载 html 时,脚本似乎启动了,因为它显示:"LoadingTry.odt..."。但是此时它停止了,load/show Try.odt.

我错过了什么?

Chrome 52 报道:

XMLHttpRequest cannot load file:///C:/data/Try.odt. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

WebODF 似乎启动了一个 XMLHttpRequest 来检索 Try.odt,但出于安全原因,本地文件 (file://) 不支持仅双击 html 页面.您可以使用 --allow-file-access-from-files 参数启动 Chrome,因此 WebODF 可以访问 Try.odt

Internet Explorer 11 也不行。

Firefox 45.0.2 可以正常工作,因为 Try.odt 与其他文件位于同一文件夹中,而且默认情况下它似乎允许这样做。

但是,如果您通过 Web 服务器通过 http://

提供文件,则每个浏览器都可以工作