动态更改 android webView 中的 HTML 元素
Dynamically change HTML element in android webView
我知道这个问题很常见,可以使用 here - JS or JQuery and here 解决 - how to 运行 it on Android。那么这个方法工作正常但是当我们调用时:
`myWebView.loadUrl("javascript:document.body.innerHTML = document.body.innerHTML.replace('link1', 'link2')");`
image link1 is changing with link2, image is loading but page is restarted, 所以如果我在最后我要开始...我可以实时将 link1 更改为 link2 ,而不是重新加载页面与真实浏览器中的一样?
我还尝试在我的 html 文件中设置 id,例如:
<img src="https://link1.jpg" id="dm5kode"/>
和 运行 在 Android:
myWebView.loadUrl("javascript:document.getElementById('dm5kode').src = 'link2'");
在这里我什么也没有得到只是空屏幕...
这不是重新加载页面。
"javascript:(
function()
{
document.body.innerHTML = document.body.innerHTML.replace('link1', 'link2')
})()"
示例:
WebView wb;
wb = (WebView) findViewById(R.id.webView1);
wb.loadUrl("file:///android_asset/web1.html");
wb.getSettings().setJavaScriptEnabled(true);
wb.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView web, String url) {
// TODO Auto-generated method stub
String uname = "email@mail.com";
String pass = "******";
/*
* web.loadUrl(
* "javascript:(function(){document.getElementById('email').value='"
* + uname +
* "';document.getElementById('pass').value='" +
* pass + "';})()");
*/
String link1 = "https://www.gstatic.com/webp/gallery3/1.png";
String link2 = "https://www.gstatic.com/webp/gallery3/2.png";
web.loadUrl("javascript:(function(){document.body.innerHTML = document.body.innerHTML.replace('" + link1+"', '" + link2+"')})()");
}
});
web1.html
<!DOCTYPE html>
<html>
<head>
<title>dynamic Image</title>
</head>
<body>
<img src="https://www.gstatic.com/webp/gallery3/1.png" id="dm5kode"/>
</body>
</html>
我知道这个问题很常见,可以使用 here - JS or JQuery and here 解决 - how to 运行 it on Android。那么这个方法工作正常但是当我们调用时:
`myWebView.loadUrl("javascript:document.body.innerHTML = document.body.innerHTML.replace('link1', 'link2')");`
image link1 is changing with link2, image is loading but page is restarted, 所以如果我在最后我要开始...我可以实时将 link1 更改为 link2 ,而不是重新加载页面与真实浏览器中的一样?
我还尝试在我的 html 文件中设置 id,例如:
<img src="https://link1.jpg" id="dm5kode"/>
和 运行 在 Android:
myWebView.loadUrl("javascript:document.getElementById('dm5kode').src = 'link2'");
在这里我什么也没有得到只是空屏幕...
这不是重新加载页面。
"javascript:(
function()
{
document.body.innerHTML = document.body.innerHTML.replace('link1', 'link2')
})()"
示例:
WebView wb;
wb = (WebView) findViewById(R.id.webView1);
wb.loadUrl("file:///android_asset/web1.html");
wb.getSettings().setJavaScriptEnabled(true);
wb.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView web, String url) {
// TODO Auto-generated method stub
String uname = "email@mail.com";
String pass = "******";
/*
* web.loadUrl(
* "javascript:(function(){document.getElementById('email').value='"
* + uname +
* "';document.getElementById('pass').value='" +
* pass + "';})()");
*/
String link1 = "https://www.gstatic.com/webp/gallery3/1.png";
String link2 = "https://www.gstatic.com/webp/gallery3/2.png";
web.loadUrl("javascript:(function(){document.body.innerHTML = document.body.innerHTML.replace('" + link1+"', '" + link2+"')})()");
}
});
web1.html
<!DOCTYPE html>
<html>
<head>
<title>dynamic Image</title>
</head>
<body>
<img src="https://www.gstatic.com/webp/gallery3/1.png" id="dm5kode"/>
</body>
</html>