WebView的简单使用,附加一点JS交互操作

flutter webView 使用以及与 js 互操作 lzyprime 博客 (github) 创建时间:2020.03.06 qq及邮箱:2383518170 λ: 仓库地址:https://github.com/lzyprime/flutter_demos/tree/flutter_webview_demo git clone -b flutter_webview_demo https://github.com/lzyprime/fl... 阅读详情

/**
 *                  ___====-_  _-====___
 *            _--^^^#####//      \\#####^^^--_
 *         _-^##########// (    ) \\##########^-_
 *        -############//  |\^^/|  \\############-
 *      _/############//   (@::@)   \\############\_
 *     /#############((     \\//     ))#############\
 *    -###############\\    (oo)    //###############-
 *   -#################\\  / VV \  //#################-
 *  -###################\\/      \//###################-
 * _#/|##########/\######(   /\   )######/\##########|\#_
 * |/ |#/\#/\#/\/  \#/\##\  |  |  /##/\#/  \/\#/\#/\#| \|
 * `  |/  V  V  `   V  \#\| |  | |/#/  V   '  V  V  \|  '
 *    `   `  `      `   / | |  | | \   '      '  '   '
 *                     (  | |  | |  )
 *                    __\ | |  | | /__
 *                   (vvv(VVV)(VVV)vvv)
 *                        神兽保佑
 *                       代码无BUG!
 */

public class MainActivity extends Activity {

    private TextView tvTitle;
    private ProgressBar bar;
    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webView = (WebView) findViewById(R.id.webview);
        tvTitle = (TextView) findViewById(R.id.tvTitle);

        bar = (ProgressBar) findViewById(R.id.bar);


        // 加载一个远程服务器上的HTMl资源
        // webView.loadUrl("http://172.17.70.50:8080/index.html");

        // 加载一个本地网页 file:///android_asset 固定写法
        webView.loadUrl("file:///android_asset/index.html");
        // 设置WebView是否支持Js与android之间进行交互
        webView.getSettings().setJavaScriptEnabled(true);
        // this 相当于你的学名 test 相当于你的小名
        webView.addJavascriptInterface(MainActivity.this, "test");
        webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onReceivedTitle(WebView view, String title) {
                super.onReceivedTitle(view, title);
                tvTitle.setText(title);
            }

            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                super.onProgressChanged(view, newProgress);
                bar.setProgress(newProgress);
            }
        });
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);
                bar.setVisibility(View.VISIBLE);
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                bar.setVisibility(View.GONE);
            }
        });
    }

    public void btnAndroidCallJs(View v) {

        // android 调用js 里面的代码
        webView.loadUrl("javascript:androidCallJs('fuck!')");

    }

    // @JavascriptInterface 注解让js识别该方法
    @JavascriptInterface
    public void sayHello(String msg) {// 属于android的

        Toast.makeText(this, "我被js调用了 : " + msg, 0).show();

    }

}

index.html界面

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>测试android与js交互</title>
        
        
        <script>//js调用android里面的方法
function jsCallAndroid() {
    test.sayHello("你好");
}

//android调用js方法
function androidCallJs(msg) {

    alert("我被android调用了 : " + msg);

}</script>
        
        
        
    </head>
    <body>
        
        <input type="submit" value="js调用android里面的方法" onclick="jsCallAndroid()"/>
        
        
    </body>
</html>


WebView2中C#和JavaScript代码互操作 C#调用或者执行前端的JavaScript 1.需要创建一个ScriptHost,并注册到WebView2中 [ClassInterface(ClassInterfaceType.AutoDual)] [ComVisible(true)] /// <summary> /// 网页调用C#方法 /// </summary> public class ScriptCallbackObject //注册winning脚本c#互操.. 阅读详情

相关推荐

Android通过WebView与JS交互

我们知道,大前端时代已经来了!不管是网页web,还是移动端,通过前端的知识基本都可以解决需求问题。作为一名靠Android平台吃饭的程序员,的确有了些许压力。不过也不用太紧张,个人观点觉得最近几年都是ok的,问题不大。目前市场上流行的做法是,在app的基础上,与HTML相结合,实现嵌套交互的效果。因为,大部分应用,都是需要通过用户来实现收益的,因此经常会推出活动来推广运营。这样的情况下,如果每次都...

小猪的博客 3520

WebView加载html代码并附加css,js

WebView踩坑1.WebView的配置 WebSettings settings = wvDetailContent.getSettings(); if (mPresenter.getNoImageState()) { //设置为无图模式 settings.setBlockNetworkImage(true); }//判断用户是否设置了自动缓存 if (mPresenter.ge

潇风寒月 3084

WebView2中C#与JavaScript互操作实战指南

本文详细介绍了在WebView2中实现C#与JavaScript互操作的完整实战指南。内容涵盖环境搭建、C#调用JavaScript方法、将C#对象暴露给JavaScript以及双向通信的事件处理等核心环节,并提供了处理异步调用、复杂对象传递及常见问题排查的实用技巧,帮助开发者高效构建桌面与Web深度融合的应用程序。

weixin_29239279的博客 311

教你在.Net8.0的WinForm中使用WebView2,实现C#和JavaScript的实时双向互操作

随着 Web 技术的发展,使用网页内容(HTML、JavaScript、CSS 等)作为桌面应用程序的一部分变得越来越常见。在 C# WinForm 中,Microsoft 提供的 WebView2 控件让我们可以轻松地嵌入 Chromium 浏览器,并实现 C# 与 JavaScript 的互操作。本文将详细介绍如何在 WinForm 项目中集成 WebView2 控件,并实现 C# 和 JavaScript 的双向调用。JavaScript 调用 C#通过使用将消息发送到 C#。C# 使用。

dotnet研习社 1万+

Android中WebView使用6,js调java实现播放视频

效果图 项目结构: 核心代码: JsCallJavaVideoActivity中 package com.zhh.android; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCo

翟浩浩Android专栏 1529

WebView2避坑指南:C#与JS互操作常见问题及解决方案

本文深入探讨了WebView2开发中C#与JavaScript互操作的常见陷阱与解决方案。针对Proxy对象的异步本质、跨线程调用异常、数据序列化丢失等核心问题,提供了经过实战验证的代码示例和最佳实践,帮助开发者构建稳定高效的混合应用通信架构。

s4t5u6v的博客 433

Android WebView与JavaScript交互操作(Demo)

版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.youkuaiyun.com/ma_hoking/article/details/32707013 ...

weixin_30701521的博客 180

从单应矩阵到实际距离:Apriltag测距完整实现指南

本文提供了基于Apriltag实现高精度视觉测距与姿态估计的完整指南。详细阐述了从相机标定、单应矩阵分解到欧拉角与距离计算的完整流程,并深入探讨了四个解的歧义选择、工程实践中的滤波优化与多Tag融合等关键问题,旨在帮助开发者在机器人、AR等应用中实现稳定可靠的距离检测与姿态估计。

n7o8p的博客 558

WebView与JS的交互

WebView与JS的交互

m0_62787113的博客 2450

PID算法(位置式pid算法和增量式pid算法)

PID 算法是闭环控制系统中常用的算法,PID 分别是 Proportion(比例)、Integral(积分)、Differential(微分)的首字母缩写。它是一种结合比例、积分和微分三个环节于一体的闭环控。

m0_57678852的博客 2万+

材料力学小白必看:纯弯曲正应力计算全解析(附实例演示)

本文详细解析了材料力学中纯弯曲正应力的计算原理与工程应用,通过实例演示帮助初学者掌握关键公式和计算流程。内容涵盖纯弯曲的基本假设、正应力分布规律、截面特性计算,以及现代工具如Excel、ANSYS和Python在应力分析中的应用,特别适合材料力学小白系统学习。

sea99的博客 1232

Android中Webview使用自定义的javascript进行回调

先说为什么需要讨论这个问题。   现在很多的手机应用,都可能会直接嵌入一个web页面。这样做的好处:一个是功能更新方便,维护起来容易,只需要维护服务器的页面即可,不需要更新客户端;另一个是功能通用,不仅android可以用,ios也可以用,symbian也可以直接用。   那为什么现在很多手机应用并不做成web方式的呢?原因很多。一个是现阶段web方式展现能力相对较弱,如果对于应用的美观程

::: 移动互联网时代开发者 ::: 2万+

[cadence]Allegro STEP-3D模型导入、匹配、导出的方法及注意事项

如果 Avaliable里面没有和symbols对应的文件,说明没有对应的3D模型,这时候需要在你的step路径下创建y与 .dra 封装文件相同名称的。选择好 Output file 和 name 之后呢,点击 Export。首先打开Setup - Step Package Mapping。注意:路径中不能有中文名称,有的话你会发现不能导出,也不会报错。在路径下将下载或者自己做的 3D模型文件改名之后,重新打开。可在View -> 3D View。

LuDvei的博客 2万+

Android webview 与js(vue)实现交互操作(1)

js 与原生交互分为两种情况:js 调用原生方法,原生调用 js 方法。 本文将对这两种情况分别讲解,H5 端用 vue 实现。 一、前期准备(Vue项目准备) 本文的 H5 端用Vue 实现,所以在正式开始前先把 Vue 项目环境准备好。 项目写好后,执行 npm run serve 命令启动项目,启动成功后会在命令行看到两个地址: http://localhost:8080/ ,和 http://10.0.0.188:8080/。 10.0.0.188 是我本机的 ip 地址,每个人的不一样。 在电脑

weixin_44490109的博客 2827

renderdoc的使用

renderdoc可以用来捕获帧渲染情况,排查一些GPU渲染、资源规格等问题。 下面讲述一些该软件连接真机调试使用。 一、下载安装renderdoc 软件的下载地址:https://renderdoc.org/可直接点击下载即可。该软件是开源免费的,不用破解。 下载后直接安装即可使用。 二、打开使用renderdoc 打开界面后,默认的界面布局如下图所示,(这里我已经设置了黑色主题,可以忽略这点),renderdo中主要的窗口有Texture Viewer(纹理查看器)、Event B.

x_xingduo_2315的博客 2万+

【硬件工程师面经整理18_Smith圆图】

若文中任何内容侵犯了您的合法权益,请相关权益人及时与我联系,我将立即进行核实并采取适当措施,包括但不限于删除相关内容或更新文章以消除影响。**在Smith圆图上,源阻抗表示为圆心,而负载阻抗表示为圆图上的一个点。具体来说,通过将负载阻抗在Smith圆图上移动到特定位置,使其与传输线特性阻抗形成纯电阻或纯电抗的组合,从而实现匹配。例如,反射系数表示为Smith圆图上的一个点,而驻波比则表示为圆图上两个点之间的距离。Smith圆图是用于阻抗匹配和网络分析的工具,它是一种将复阻抗表示为坐标的图形。

LeeYLong的博客 651

Flutter 中 WebView 的使用以及与 JS 交互

WebView 的使用,算得上是比较普遍的,特别是与 JS 的交互,今天整理一下在 flutter 中使用 WebView 的一些事~ 重点讲解如下两个主流插件的使用: 官方插件:webview_flutter pub 比较好用的插件:flutter_webview_plugin 任何一个插件的使用,都是两步走: 1.引入依赖 2.导入使用,应用组件(widget) 但是这个插件的使用过程中,在 ...

weixin_46837673的博客 2637

FPGA/IC 秋招笔试/面试题总结

文章目录一、FPGA内部资源1. 什么是FPGA2.FPGA内部资源二、同步时钟、同步/异步电路1.同步时钟2.同步/异步电路三、同步复位/异步复位1.同步复位2. 异步复位3. 异步复位同步释放四、同步FIFO/异步FIFO1.同步FIFO2.异步FIFO五、FIFO最小深度计算1.FIFO最小深度2.示例分析六、逻辑电平1.TTL电平标准2.LVTTL电平标准3.CMOS电平标准4.LVCOMS电平标准5.RS2326.RS4857.ECL、PECL、LVPECL8.LVDS9.CML10.GTL11

Crazzy_M的博客 4万+

WebView的简单使用以及 js与java的相互调用

开发App时,经常会遇到要在应用内部加载一个HTML的网页,同时还需要Android页面与Html页面有数据的交互。这就要用到WebView。 1.WebView的使用 webview是谷歌官方提供的基础控件之一。使用方法有两种,其一为静态使用,即在xml布局文件里直接使用。如图: 还有另外一种方法,是在代码里动态创建webview。如图所示: web = new WebView(...

故河的博客 670

1.2 amdgpu_bo的设计分析 — gem层和ttm层

本文分析了AMD KFD的BO设计架构,重点介绍了DRM子系统中缓冲对象的多层继承关系。文章首先展示了核心继承层次图,包括DRM通用层(drm_gem_object)、TTM内存管理层(ttm_buffer_object)、AMD驱动层(amdgpu_bo)和KFD计算层(kgd_mem)。随后详细解析了drm_gem_object结构体的关键功能,包括用户空间接口管理、内存映射支持、引用计数机制以及DMA-BUF导入/导出功能。

图形/计算GPU的驱动与虚拟化技术分享园地 2539

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android webview简单使用,JS与Android WebView的简单交互 + WebView 的简单使用

1.js调用android代码放as文件夹下image.png小浩function callAndroid(){AndroidWebView.hello("js调android中hello方法");}js调用android中的代码//java 对应代码@SuppressLint("SetJavaScriptEnabled")private void initWebView() {WebSettin...

weixin_30986079的博客 307

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

浅谈WebView的使用

WebView是Android中一个非常实用的组件,它和Safai、Chrome一样都是基于Webkit网页渲染引擎,可以通过加载HTML数据的方式便捷地展现软件的界面。使用WebView开发软件有一下几个优点:1.可以打开远程URL页面,也可以加载本地HTML数据;2.可以无缝的在java和javascript之间进行交互操作;3.高度的定制性,可根据开发者的需要进行多样性定制。

LiuHe 3万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android webview与js交互(动态添加js)

Toast.makeText(mContxt, “调用funFromAndroid:” + name, Toast.LENGTH_LONG).show();Toast.makeText(MainActivity.this, “js加载失败”, Toast.LENGTH_SHORT).show();注:此例为本地html与本地js交互,如想在本地html添加js,将js.js代码复制到html对应标签内即可。一、本地html与本地js交互(本地html引用本地js)读取js添加到String 类型中。

2501_90499563的博客 1486

webview之js动态注入

使用场景 加载在线网页,需要在网页加载完成之后,通过js注入的方式,对其中的部分元素进行属性的修改.这里的示例是使用本地的网页进行修改。在线的使用同样的方式处理.### html源代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title&gt...

追梦赤子心 8527
上一篇: ExpandableListView
下一篇: 读取系统联系人
SuperMonsterH
博客等级 码龄9年 11粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperMonsterH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值