今天在做一个关于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\";");
       产品有个需求,要在App打开天猫购物的链接,并且要隐藏掉H5页面的某些内容,让用户只能浏览商品,而不能购买,这个就需要在Java代码操作WebView,让H5页面加载完成后能够隐藏掉某些内容。
      首先我们来看一下天猫购物的链接地址:https://market.m.taobao.com/apps/market/need/yxIndex.html...
				
h5加载完成时回调 override fun onPageFinished(view: WebView?, url: String?) { super.onPageFinished(view, url) view?.loadUrl("javascript:" + loadJs() + ";") fun loadJs(): String { var js = "var newscript = document.createElement(\"script\");" 有时候,我们用WebView加载的某些网页里面常常有广告,大大的影响了使用者的浏览效果,我们能不能去除呢? 答案当然是可以的,当然方法是偏门一点,是利用js把对应的广告块进行隐藏。。 document.querySelector('广告块的选择器').style.display="none";11 通过上面的js代码可以对某个元素进行隐藏,达到去除的目的,js 的代码解析
场景描述: iOS 的 UINavigation Controller 导航到一个 Controller , 里面是 H5 决定采用 Navigation Bar 上面的返回按钮,抹去 H5 自带的返回按钮 解决: 注入脚本,配置 css 相关脚本: var styleTag = document.createElement("style"); styleTag.textContent = 'element.class{;}'; document
1.浏览器可以查看元素,找到那些不需要显示的元素直接隐藏掉2.JS代码:根据class名称获取div数组//编写 javaScript方法 String javascript = "javascript:function getClass(parent,sClass){" + "var aEle=parent.getElementsByTagName('div');" +
问题描述: 在进行app开发时,我们会经常遇到webview加载一个网址的情况,但是仅仅是webview.loadUrl()并不能满足我们的需求,因为一般网页上面都有一个标题,,标题的颜色和我们的app风格可能整体都不太搭,这个时候该怎么办?让web端的朋友们专门写一个也是不太可能实现,这个时候都要自力更生了 解决思路: 利用js交互,将webview加载的URL的页面html做一些修改,例
Android WebView 是一个能够在 Android 应用程序嵌入网页的组件,它可以开发出能够与 Web 页面进行交互的应用。其与 Web 页面进行交互的一种方法是与 JavaScript 进行交互。下面简要解释一下 Android WebView 与 JS 交互的方式。 1. 加载本地 HTML 文件 在 Android WebView 加载本地 HTML 文件时,需要使用 loadUrl() 方法加载。HTML 文件的 JavaScript 可以通过 WebView 提供的 addJavascriptInterface() 方法注册为 Java 的一个对象,然后在 Java 调用该对象的方法,即可实现 JS 与 Java 的交互。 2. 加载远程 Web 页面 在 Android WebView 加载远程 Web 页面时,需要添加 WebViewClient 和 WebChromeClient,分别是用来管理 WebView 的网络请求和处理页面上的 JavaScript 弹窗等请求。 在远程 Web 页面上,JS 代码可以通过 WebView 提供的 addJavascriptInterface() 方法注册为 Java 的一个对象,然后在 Java 调用该对象的方法,即可实现 JS 与 Java 的交互。 同时,在 Android 处理 JS 的事件需要通过 JavaScriptInterface 向 WebView 注册一个映射对象,来实现 JS、Java 相互调用的机制,静态 HTML 文件是通过 WebView 的 evaluateJavascript() 方法来调用 JS,来实现双向通信和数据交互。 总结来说,Android WebView 与 JS 交互的方式主要是通过 WebView 提供的 addJavascriptInterface() 方法注册为 Java 的一个对象,然后在 Java 调用该对象的方法,来实现 JS 和 Java 的交互。同时,JS 也可以通过 WebView 的 evaluateJavascript() 方法来调用 Java 的方法,实现双向通信和数据交互。