android studio webview применить javascript по ссылке
такой вопрос как применить java script по ссылке к webview https://dl.dropboxusercontent.com/s/lmibwymtkebspij/background.js после полной загрузки страницы фон должен стать зеленым вот пример кода как загружаю страницу
webView = findViewById(R.id.Web);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new MyWebChromeClient());
заранее благодарен
Ответы (1 шт):
Автор решения: dimasta68
→ Ссылка
может кому пригодится грузим текст скрипта в переменную script используя get запрос на линк адреса скрипта как то так :
@SuppressLint("StaticFieldLeak")
class ProgressTask extends AsyncTask<String, Void, String> {
@Override
public String doInBackground(String... path) {
try {
content = getContent(path[0]);
} catch (IOException ex) {
content = ex.getMessage();
}
return content;
}
@Override
public void onPostExecute(String content) {
scriptbg = content;
Log.d("debug", scriptbg);
}
public String getContent(String path) throws IOException {
BufferedReader reader = null;
try {
URL url = new URL(path);
HttpsURLConnection c = (HttpsURLConnection) url.openConnection();
c.setRequestMethod("GET");
c.setReadTimeout(10000);
c.connect();
reader = new BufferedReader(new InputStreamReader(c.getInputStream()));
StringBuilder buf = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
buf.append(line + "\n");
}
return (buf.toString());
} finally {
if (reader != null) {
reader.close();
}
}
}
далее применяем скрипт к нашему webView при полной загрузке страницы вот так :
public void onPageFinished(WebView view, String url) {
webView.loadUrl("javascript:" + Script);
Log.d("debug", "finish");
}