今天在做一个关于webview的东西,其中网页中有flash,而当webview加载了这个网页之后无法显示这个flash,但是会留出一块空白的部分,于是加载了的这个页面会显得很难看,因此就想如何把这个flash隐藏。
想了很久也没想出办法,也没在webview设置中看到有隐藏flash的方法,于是就想到了使用js来进行操作。废话不多说,贴出具体代码,代码中说明很详细,希望能有用。
注意:需要添加网络访问权限
package com.example.webview;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
//定义一个webview
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.webview);
//webview加载一个网页
webView.loadUrl("https://member.meizu.com/sso?appuri=https%3A%2F%2Fsyncweb.meizu.com%2Fc%2Floginout%2Flogin&useruri=%2Fbrowser%2Findex.jsp&sid=&service=syncweb&autodirct=true");
WebSettings settings = webView.getSettings();
//设置webview属性可以对js进行操作
settings.setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
//在加载完成之后对网页中内容进行隐藏,这里我们隐藏了登录的按钮
webView.loadUrl("javascript:document.getElementById(\"login\").style.display=\"none\";");
}
});
}
}