Android Как отобразить файл из необработанного HTML и Javascrip сценария в WebView - PullRequest
0 голосов
/ 18 сентября 2018

Мое приложение Android может отображать файлы, отправленные в виде необработанного HTML, в веб-представлении.

Обычно проблем не возникает, но пользователь отправляет следующее, и все, что я получаю, - это пустая белая страница.

 <!doctype html>
   <html>
     <head></head>
       <body>
        <script type='text/javascript'>
          window.location.href = "http://www.pdf995.com/samples/pdf.pdf";
        </script>
       </body>
   </html>

и я не могу получить веб-просмотр для загрузки файла в сценарии.

У меня есть все перечисленные ниже возможности, чтобы попытаться заставить JavaScript работать:

webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setLoadWithOverviewMode(true);
webview.getSettings().setUseWideViewPort(true);
webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setDisplayZoomControls(false);
webview.getSettings().setSupportZoom(true);
webview.getSettings().setDefaultTextEncodingName("utf-8");
webview.getSettings().setPluginState(WebSettings.PluginState.ON);

и я использовал оба этих вызова loadData безрезультатно (не используя оба одновременно, просто включил, чтобы показать, что я пробовал):

webview.loadDataWithBaseURL("", documentHtml.htmlRaw, "text/html", "utf-8", "");
webview.loadData(htmlRaw, "text/html", "utf-8");

Когда я создаю .html документ, содержащийПриведенный выше html, отправьте его по электронной почте и откройте на моем устройстве Android, это дает мне возможность использовать Android HTML Viewer или Chrome / Internet (браузер Android) ... когда я использую HTML Viewer, я получаю ту же пустую белую страницу, что и я.см. в моем приложении ... когда я использую Chrome / Интернет, он позволяет мне загрузить файл и затем просмотреть его.

Файл не всегда будет файлом PDF, но независимо от того, что я хочу, можно:

  1. Желательно отображать документ в приложении без необходимостичтобы загрузить его сначала

  2. Загрузите документ в папку «Загрузки» на моем устройстве, а затем просмотрите его.

Любая помощь / предложения будут полезны.

1 Ответ

0 голосов
/ 18 сентября 2018

Это, безусловно, будет работать, если у вас есть URL-адреса файлов, которые вы хотите отобразить.Просто замените "http://www.pdf995.com/samples/pdf.pdf" этот URL-адрес на динамический.

    String html_string = "<div> \n" +
                "<object type=\"text/html\" data=\""+"http://docs.google.com/gview?embedded=true&url="+ "http://www.pdf995.com/samples/pdf.pdf" +"\" width=\"1000px\" height=\"1800px\">\n" +
                "</object>\n" +
                " </div>";
    webView.loadData(html_string, "text/html", "UTF-8");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...