0

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

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

根据上面的链接,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 ...”。但此时它会停止,并且不会加载/显示 Try.odt。

我错过了什么?

4

1 回答 1

0

Chrome 52 报告:

XMLHttpRequest 无法加载 file:///C:/data/Try.odt。跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource。

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

Internet Explorer 11 也不起作用。

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

但是,如果您通过 Web 服务器通过 http:// 提供文件,则每个浏览器都可以工作

于 2016-09-01T12:37:57.610 回答