Как загрузить изображение с относительного URL в веб-представлении Addroid
Я хочу отображать изображение с относительного URL, как (//via.placeholder.com/350x150) в веб-представлении Android Хотя я вижу HTML, но изображение не работает в веб-представлении.
Ниже мой код для загрузки изображения из пользовательского HTML, переданный в функцию webview.loadData.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
String customHtml ="<html>\n" +
"<body>\n" +
"\n" +
" <h3>A demonstration of how to access an IMG element</h3>\n" +
"\n" +
" <img id=\"myImg\" src=\"//via.placeholder.com/350x150\" alt=\"The Pulpit Rock\" width=\"304\" height=\"228\">\n" +
"\n" +
" <p>Click the button to get the URL of the image.</p>\n" +
"\n" +
" <button onclick=\"myFunction()\">Try it</button>\n" +
"\n" +
" <p id=\"demo\"></p>\n" +
"\n" +
" <script>\n" +
" function myFunction() {\n" +
" var x = document.getElementById(\"myImg\").src;\n" +
" document.getElementById(\"demo\").innerHTML = x;\n" +
" }\n" +
" </script>\n" +
"\n" +
"</body>";
webView.loadData(customHtml, "text/html", "UTF-8");
}
у меня есть соответствующее разрешение
<uses-permission android:name="android.permission.INTERNET"/>;
В моем случае, главная проблема в том, что я всегда получаю изображение с относительным URL, т.е. к URL не будет добавлено http: или https:. Так что настройку или функцию я должен использовать в Android, чтобы отобразить изображения из протокола относительного URL.
Пожалуйста помоги.
2 ответа
Эта проблема - customHtml с неправильным src. замещать
src=\"//via.placeholder.com/350x150\"
от src="http://via.placeholder.com/350x150"
,
/index.html
/bin/image.png
<img src="/bin/image.png" /> will not currently work.
<img src="./bin/image.png" /> will work.