Использование 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://