在webview中运行脚本后将Javascript注入网站

在webview中运行脚本后将Javascript注入网站,javascript,java,android,webview,android-webview,Javascript,Java,Android,Webview,Android Webview,我想将我的javascript添加到远程网站 我尝试使用方法onPageFinished,但它只在脚本运行之前获取网站。网站必须从服务器获取所有数据,我必须等到它完成,这样我才能将js添加到生成的元素中 我要使用的所有元素都必须等待脚本生成它们 我如何知道网站何时完全呈现?(运行所有脚本并生成所有html) 编辑 我可以得到生成的html,但它没有任何帮助() 我也尝试了许多解决方案,但都不起作用(而且) 这里是我的示例代码 webPreviewDocument.setWebViewClient

我想将我的javascript添加到远程网站

我尝试使用方法onPageFinished,但它只在脚本运行之前获取网站。网站必须从服务器获取所有数据,我必须等到它完成,这样我才能将js添加到生成的元素中

我要使用的所有元素都必须等待脚本生成它们

我如何知道网站何时完全呈现?(运行所有脚本并生成所有html)

编辑

我可以得到生成的html,但它没有任何帮助()

我也尝试了许多解决方案,但都不起作用(而且)

这里是我的示例代码

webPreviewDocument.setWebViewClient(new WebViewClient(){
@Override  
public void onPageFinished(WebView view, String url) {
    webPreviewDocument.loadUrl("javascript:alert('Example');"); // just example
}
});
WebSettings webSettings = webPreviewDocument.getSettings();
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
webSettings.setLoadWithOverviewMode(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setUseWideViewPort(true);
webPreviewDocument.loadUrl(mMaterialPreview.getPreviewUrl());


调用onPageFinished时,页面正在加载预览内容,我必须等待几秒钟,然后才能加载所有内容。我还尝试使用sleep并等待js和java,但它不起作用

您可以在js文件中执行类似操作:

var init = function () {
    //here you write your functions that need to be excuted by example:
    $('.checkbox').on('change', checkCheckbox);
};
$(document).ready(init());
函数init()只能在加载文档后执行。
这个函数也是用Jquery编写的。我不知道你是用那个还是知道那个。如果您还有任何问题,只需询问

,您可以在JS文件中执行类似操作:

var init = function () {
    //here you write your functions that need to be excuted by example:
    $('.checkbox').on('change', checkCheckbox);
};
$(document).ready(init());
函数init()只能在加载文档后执行。
这个函数也是用Jquery编写的。我不知道你是用那个还是知道那个。如果你还有任何问题,请提问

如果我了解你,你想在一个你不拥有的网站上运行你的JS文件吗?是的,我想这样做,你有什么建议吗?如果我了解你,你想在一个你不拥有的网站上运行你的JS文件吗?是的,我想这样做,你有什么建议吗?我试过了,但没有用。因为在Android中,当我加载页面时,它总是立即调用onPageReturn,尽管页面必须加载预览内容。例如:当你在谷歌照片中点击打开一张图片时,它必须先加载预览内容几秒钟才能显示出来。你能给我看一下你的android代码吗?你也能告诉我你是如何加载这些内容的吗?我已经试过了,但是没有用。因为在Android中,当我加载页面时,它总是立即调用onPageReturn,尽管页面必须加载预览内容。例如:当你在谷歌照片中点击打开一张图片时,它必须先加载预览内容几秒钟才能显示出来。你能给我看一下你的android代码吗?你能告诉我你是如何加载这些内容的吗?