Использование WebODF на локальной машине

Я хочу использовать WebODF в его простейшей форме: http://www.webodf.org/start/ Просто чтобы показать документ ODT в веб-браузере. Я прочитал все эти сообщения: https://stackru.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.

Что мне не хватает?

1 ответ

Решение

Chrome 52 сообщает:

XMLHttpRequest не может загрузить файл:///C:/data/Try.odt. Запросы между источниками поддерживаются только для схем протоколов: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Похоже, что WebODF запускает XMLHttpRequest для получения Try.odt, но это не поддерживается с локальными файлами (file://), просто дважды щелкнув html-страницу по соображениям безопасности. Вы можете запустить Chrome с --allow-file-access-from-files параметр, поэтому WebODF может получить доступ к Try.odt

Internet Explorer 11 тоже не работает.

Firefox 45.0.2 работает, хотя, потому что Try.odt находится в той же папке, что и другие файлы, и кажется, что это позволяет по умолчанию.

Тем не менее, каждый браузер будет работать, если вы сервер файлов через веб-сервер через http://

Другие вопросы по тегам