Как загрузить строку html в webview?
У меня есть строка html, содержащая это:
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="spanish press" content="spain, spanish newspaper, news,economy,politics,sports">
<title></title>
</head>
<body id="body">
<!-- The following code will render a clickable image ad in the page -->
<script src="http://www.myscript.com/a"></script>
</body>
</html>
Мне нужно показать этот веб-сайт в веб-обозревателе в Android.
Я пробовал все это:
webView.loadDataWithBaseURL(null, txt, "text/html", "UTF-8", null);
webView.loadDataWithBaseURL("x-data://base", txt, "text/html", "UTF-8", null);
webView.loadDataWithBaseURL("notreal/", txt, "text/htm", "utf-8",null);
Также я попытался удалить тег DOCTYPE:
txt=txt.replace("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">", "");
Никто из них не работает. Мне просто удалось показать строку в webview (html-код), но не на веб-сайте, который должен быть создан с помощью этого HTML-кода.
Что не так?
Ответы
Ответ 1
Загрузка ваших данных в WebView. Вызов метода loadData() WebView
wv.loadData(yourData, "text/html", "UTF-8");
Вы можете проверить этот пример
http://developer.android.com/reference/android/webkit/WebView.html
[Изменить 1]
Вы должны добавить -\- before - "- например → name= \" испанский пресс \"
ниже строка работала для меня
String webData = "<!DOCTYPE html><head> <meta http-equiv=\"Content-Type\" " +
"content=\"text/html; charset=utf-8\"> <html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=windows-1250\">"+
"<meta name=\"spanish press\" content=\"spain, spanish newspaper, news,economy,politics,sports\"><title></title></head><body id=\"body\">"+
"<script src=\"http://www.myscript.com/a\"></script>şlkasşldkasşdksaşdkaşskdşk</body></html>";
Ответ 2
Вы также можете попробовать это
final WebView webView = new WebView(this);
webView.loadDataWithBaseURL(null, content, "text/html", "UTF-8", null);
Ответ 3
читать из файла html активов
ViewGroup webGroup;
String content = readContent("content/ganji.html");
final WebView webView = new WebView(this);
webView.loadDataWithBaseURL(null, content, "text/html", "UTF-8", null);
webGroup.addView(webView);
Ответ 4
У меня было такое же требование, и я сделал это следующим образом. Вы также можете попробовать это.
Использовать метод loadDatap >
web.loadData("<p style='text-align:center'><img class='aligncenter size-full wp-image-1607' title='' src="+movImage+" alt='' width='240px' height='180px' /></p><p><center><U><H2>"+movName+"("+movYear+")</H2></U></center></p><p><strong>Director : </strong>"+movDirector+"</p><p><strong>Producer : </strong>"+movProducer+"</p><p><strong>Character : </strong>"+movActedAs+"</p><p><strong>Summary : </strong>"+movAnecdotes+"</p><p><strong>Synopsis : </strong>"+movSynopsis+"</p>\n","text/html", "UTF-8");
movDirector movProducer, как и все, является моей строковой переменной.
Короче, я сохраняю индивидуальный стиль для моего URL.