【发布时间】:2017-08-14 09:23:40
【问题描述】:
我想将我的 javascript 添加到远程网站。
我尝试使用 onPageFinished 方法,但它只能在脚本运行之前获取网站。网站必须从服务器获取所有数据,我必须等到它完成后才能将 js 添加到生成的元素中。
我要使用的所有元素都必须等到脚本生成它们
我如何知道网站已完全呈现? (运行所有脚本并生成所有 html)
编辑
我可以获得生成的 html,但它无济于事 (this)
我也尝试了很多解决方案,但都不起作用(this 和 this)
这是我的示例代码
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 调用时,页面正在加载预览内容,我必须等待几秒钟然后才能加载所有内容。我也尝试对 js 和 java 使用 sleep 和 wait 但它不起作用
【问题讨论】:
-
所以如果我理解你想在你不拥有的网站上运行你的 JS 文件?
-
是的,我想做那个,你有什么建议吗?
标签: javascript java android webview android-webview