【问题标题】:Using WebODF on local machine在本地机器上使用 WebODF
【发布时间】:2016-09-01 11:28:19
【问题描述】:

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

我在同一个本地文件夹 (c:\Data) 中有以下内容: - webODTTest.html - 尝试.odt - webdf.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。

我错过了什么?

【问题讨论】:

    标签: javascript webodf


    【解决方案1】:

    Chrome 52 报告:

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

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

    Internet Explorer 11 也不起作用。

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

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

    【讨论】:

    • 非常感谢。现在我必须找到一种方法来设置 wpf 网络浏览器允许我跨域访问。如果您有任何想法,请告诉我。
    • 好吧,我不了解 WPF,但我已经使用 bitbucket.org/geckofx 实现了一个带有 Windows 窗体 (C#) 的 Web 浏览器,并使用 file:///C:/data/ 进行了尝试webODTTest.html 并且成功了。
    猜你喜欢
    • 2012-03-24
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    相关资源
    最近更新 更多