У меня есть следующие приложения:Android Webview не загружается Javascript впрыскивается изображения
От начала WebView создаются и загрузит локальный (в приложении) HTML-файл. Этот локальный HTML-файл содержит некоторый javascript, который может обновлять HTML, когда данные анализируются на нем.
Только когда я анализирую данные, изображения не загружаются, однако я могу видеть изменение HTML и видеть правильные теги img с правильными URL-адресами. Я тестировал javascript и данные, которые я отправляю им в браузере, и он работает.
Мое приложение:
private static final String URL = "file:///android_asset/overview.html";
private WebView wView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//Set settings
wView = (WebView) findViewById(R.id.webView);
wView.getSettings().setJavaScriptEnabled(true);
wView.getSettings().setUseWideViewPort(true);
wView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
wView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
//TMP DEBUDDING
wView.setWebContentsDebuggingEnabled(true);
//Create interface called "AppBridge" for JavaScript
wView.addJavascriptInterface(new WebAppInterface(this), "AppBridge");
wView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
view.loadUrl("javascript:testInject('Hello World');");
view.loadUrl("javascript:updateOverview(SOME DATA);");
}
@Override
public void onLoadResource (WebView view, String url) {
Log.v(TAG, "Webview load Resouce " + url);
}
});
wView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
Log.d(TAG, message);
return true;
}
});
wView.loadUrl(URL);
Кто-нибудь есть идея, что запрещающая WebView загрузки моих инъекционных HTML изображений.
---- UPDATE ---- Некоторое дополнительное тестирование при добавлении тега img вручную в html изображение загружается, а затем при добавлении его снова через javascript показано. Но только одно и то же изображение показывает, что все остальные еще не загружены.
Вы пытались использовать шаблон 'content: // your.app.name /' для дополнительных файлов? Но для файлов, входящих в ваш apk, вы должны использовать относительные пути. В примере, который вы даете, вы используете абсолютный путь, которому почти наверняка будет отказано в разрешении. – coladict