Интерфейс, диалоги, темы, стили, меню
-
whitelight
- Сообщения: 1
- Зарегистрирован: 25 авг 2014, 15:51
Сообщение
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
Сообщение
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
Сообщение
dirty_bug » 14 янв 2018, 15:28
Попробуй указать путь file:///android_asset/your_path_to_html
А папку assets создай в app/src/main и у тебя все заработает.