webStageПросмотреть локальный HTML-путь в Android - PullRequest
5 голосов
/ 25 июля 2011

Я пытаюсь загрузить локальный HTML (который существует в структуре папок проекта) в экземпляре webStageView.Хотя это нормально работает в Windows и ipad / iphone - он не может найти файлы в Android (пробовал только в 2.2)

File.applicationDirectory.url возвращает приложение "File: app.SystemrageDirectory.url возвращает"-storage: "

File.applicationDirectory.nativePath возвращает пустую строку, как указано в документации Adobe.

Проблема заключается в том, что веб-просмотр дает" Веб-страница недоступна, app: / test/index.html not found "ошибка.Есть ли способ получить полный путь или «заставить» браузер понять, что приложение: относится к определенной папке?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 апреля 2016

Я исправляю эту проблему пару дней.Схема file: URL ссылается на файл на клиентском компьютере.В файле нет имени хоста: схема;вы просто указываете путь к файлу.Таким образом, файл на вашем локальном компьютере будет файл: ///~User/2ndFile.html.Обратите внимание на три слеша;часть имени хоста в URL пуста, поэтому косая черта в начале пути сразу следует за двойной косой чертой в начале URL.Вам также нужно будет расширить путь пользователя;~ не раскрывается в файле: URL.Поэтому вам потребуется файл: ///home/User/2ndFile.html (в большинстве Unixes), файл: ///Users/User/2ndFile.html (в Mac OS X) или file: /// C: /Users / User / 2ndFile.html (в Windows).Это решение отлично работает в моем приложении.

0 голосов
/ 29 сентября 2011

Как Справка Adobe сообщает :

Схемы app: и app-storage: не поддерживаются.

На iOS ваш код работает отлично, но на Android вы должны добиться этого с помощью какой-то хакерской реализации, подобной вашей, поскольку проблемы безопасности связаны с загрузкой URL-адресов StateWebView из этих каталогов. Другое решение - скопировать файл app: или app-storage: во временный файл и загрузить URL-адрес временного файла в StageWebView:

var htmlFile:File = File.applicationDirectory.resolvePath(url);
var workingFile:File = File.createTempFile();
htmlFile.copyTo(workingFile, true);
stageWebView.loadURL(workingFile.url);

Редактировать. Другим решением может быть кодирование вашего HTML-содержимого в файл .as и использование метода StageWebView.loadString (). Имея в виду, что вы должны закодировать эту строку для устройств Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...