Проблемы с WebView

Интерфейс, диалоги, темы, стили, меню
Ответить
whitelight
Сообщения: 1
Зарегистрирован: 25 авг 2014, 15:51

Проблемы с WebView

Сообщение whitelight » 25 авг 2014, 16:06

Добрый день, форумчане. Есть проблема которую не удается решить. Облазил все интернеты, но предложенные варианты не помогают. Проблема в следующем: есть локальный html-строка, к ней подключены стили и js библиотека. Стили и js я положил в папочку assets. Но никак не удается отобразить эту html-ку в WebView. Т.е. отображаться отображается, но js и стили не прикручиваются. На сколько я понял такая проблема появилась именно в кит-кате(безопасность бла-бла). В логах пишет: "Not allowed to load local resource: file:///assets/... Выводить пробовал различными методами loadUrl(), loadDataWithBaseURL(), loadData(). Кто-то сталкивался может с аналогичной проблемой? Прошу вашей помощи, уважаемые.

Код: Выделить всё

String path1 = "file:///assets/jqmath-0.4.0.css";
        String path2 = "file:///assets/jqmath-etc-0.4.0.min.js";
        String path3 = "file:///assets/jquery-1.4.3.min.js";

        String hString = "<html><head><link rel='stylesheet' href="+path1+"><script src="+ path3+" type='text/javascript'></script><script src="+path2+" type='text/javascript'></script></head><body><p style='text-align:center'>$$y-y_0=m(x-x_0)$$</p></body></html>";

        String html = "file:///assets/index.html";

        mWebView = (WebView)findViewById(R.id.webView);
        //mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        WebSettings webSettings = mWebView.getSettings();
        //webSettings.setAllowFileAccessFromFileURLs(true);
       // webSettings.setAllowUniversalAccessFromFileURLs(true);
        //webSettings.setAllowContentAccess(true);
        //webSettings.setAllowFileAccess(true);
        webSettings.setJavaScriptEnabled(true);



        mWebView.loadDataWithBaseURL(null, hString, "text/html", "utf-8", null);
        //mWebView.loadData(hString,"text/html","utf-8");
        //mWebView.loadUrl( hString, "text/html", "utf-8");
        //mWebView.setEnabled(true);

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Проблемы с WebView

Сообщение altwin » 29 авг 2014, 11:53

whitelight писал(а):Добрый день, форумчане. Есть проблема которую не удается решить. Облазил все интернеты, но предложенные варианты не помогают. Проблема в следующем: есть локальный html-строка, к ней подключены стили и js библиотека. Стили и js я положил в папочку assets. Но никак не удается отобразить эту html-ку в WebView. Т.е. отображаться отображается, но js и стили не прикручиваются. На сколько я понял такая проблема появилась именно в кит-кате(безопасность бла-бла). В логах пишет: "Not allowed to load local resource: file:///assets/... Выводить пробовал различными методами loadUrl(), loadDataWithBaseURL(), loadData(). Кто-то сталкивался может с аналогичной проблемой? Прошу вашей помощи, уважаемые.

Код: Выделить всё

String path1 = "file:///assets/jqmath-0.4.0.css";
        String path2 = "file:///assets/jqmath-etc-0.4.0.min.js";
        String path3 = "file:///assets/jquery-1.4.3.min.js";

        String hString = "<html><head><link rel='stylesheet' href="+path1+"><script src="+ path3+" type='text/javascript'></script><script src="+path2+" type='text/javascript'></script></head><body><p style='text-align:center'>$$y-y_0=m(x-x_0)$$</p></body></html>";

        String html = "file:///assets/index.html";

        mWebView = (WebView)findViewById(R.id.webView);
        //mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        WebSettings webSettings = mWebView.getSettings();
        //webSettings.setAllowFileAccessFromFileURLs(true);
       // webSettings.setAllowUniversalAccessFromFileURLs(true);
        //webSettings.setAllowContentAccess(true);
        //webSettings.setAllowFileAccess(true);
        webSettings.setJavaScriptEnabled(true);



        mWebView.loadDataWithBaseURL(null, hString, "text/html", "utf-8", null);
        //mWebView.loadData(hString,"text/html","utf-8");
        //mWebView.loadUrl( hString, "text/html", "utf-8");
        //mWebView.setEnabled(true);
где находится папка assets ? https://github.com/henrychuangtw/Kitkat-WebView
Изображение

dirty_bug
Сообщения: 1
Зарегистрирован: 14 янв 2018, 15:26

Re: Проблемы с WebView

Сообщение dirty_bug » 14 янв 2018, 15:28

Попробуй указать путь file:///android_asset/your_path_to_html
А папку assets создай в app/src/main и у тебя все заработает. :geek:

Ответить