gpt4 book ai didi

javascript - 动态更改android webView中的HTML元素

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:02:14 25 4
gpt4 key购买 nike

我知道这个问题很常见,可以使用 here 解决- JS 或 JQuery 和 here - 如何在 Android 上运行它。好吧,这种方法工作正常,但是当我们调用时:

`myWebView.loadUrl("javascript:document.body.innerHTML = document.body.innerHTML.replace('link1', 'link2')");`

图像 link1 正在随 link2 发生变化,图像正在加载但页面已重新启动,所以如果我在最后,我将要开始...我可以实时将 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>

关于javascript - 动态更改android webView中的HTML元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32601885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com