我想抢先获取要加载的网页的HTML代码,webView使用正则表达式解析它,并只显示我想要的HTML代码,同时让网页仍然认为它已经加载了所有内容.
有没有办法在WebViewClient.onLoadResource()相似的方法中做到这一点?
编辑:我试过这个:
class MyJavaScriptInterface
{
@SuppressWarnings("unused")
public void showHTML(String html, Context context)
{
new AlertDialog.Builder(context)
.setTitle("HTML")
.setMessage(html)
.setPositiveButton(android.R.string.ok, null)
.setCancelable(false)
.create();
pageHTML = html;
}
}
@Override
public void customizeWebView(final ServiceCommunicableActivity activity, final WebView webview, final SearchResult mRom) {
mRom.setFileSize(getFileSize(mRom.getURLSuffix()));
webview.getSettings().setJavaScriptEnabled(true);
MyJavaScriptInterface interfaceA = new MyJavaScriptInterface();
webview.addJavascriptInterface(interfaceA, "HTMLOUT");
WebViewClient anchorWebViewClient = new WebViewClient()
{
@Override
public void onPageFinished(WebView view, String url)
{
/* This call inject JavaScript into the page which just finished loading. */ …Run Code Online (Sandbox Code Playgroud) 我需要在android设备的内部或外部内存中加载和检索HTML网页.我需要的是使用web-view在android中下载和检索网页.
有许多类似于下载或保存网页的重复问题.但是没有一个答案对我有帮助.引导我!
提前致谢.
html android webview offline-caching android-external-storage
以下是我的测试代码.我的问题是在第二页我不能引用AndroidFunction2.我正在使用Android 4.4在Nexus 7上进行测试.但是对于Android 4.0的sumsang i9100来说还可以.我做错了什么,或者有Android的错误?
主要活动
public class MainActivity extends Activity {
WebView mWebView1;
WebView mWebView2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final FrameLayout mainFrame = (FrameLayout) this.findViewById(R.id.mainFrame);
mWebView1 = new WebView(this);
mWebView1.getSettings().setJavaScriptEnabled(true);
mWebView1.getSettings().setSupportMultipleWindows(true);
mWebView1.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
mWebView1.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean isDialog,
boolean isUserGesture, Message resultMsg) {
mWebView2 = new WebView(MainActivity.this);
mWebView2.getSettings().setJavaScriptEnabled(true);
mWebView2.getSettings().setSupportMultipleWindows(true);
mWebView2.setWebChromeClient(new WebChromeClient() {
@Override
public void …Run Code Online (Sandbox Code Playgroud) 我想阅读webview小部件的HTML内容.
是否有任何属性或方法可用于获取当前打开页面的HTML?