3. 访问带JavaScript的WebView

本文介绍了如何在Android应用中让WebView与JavaScript交互,通过创建JavaScript接口,利用WebView.addJavascriptInterface()方法建立桥梁,实现数据在Java代码和HTML内容间的交换。同时提醒注意启用JavaScript的潜在安全风险,并提供了一个实例展示如何存储和注入表单数据。
摘要由CSDN通过智能技术生成

3.1 问题

应用程序需要访问WebView中当前显示内容的HTML源代码,读取或修改其中的某个值。

3.2 解决方案

(API Level 1)
创建一个JavaScript接口,作为WebView和应用程序代码间的桥梁。

3.3 实现机制

WebView.addJavascriptInterface()会为JavaScript绑定一个Java对象,这样就可以在WebView中调用此Java对象的方法。借助这个接口,就可以使用JavaScript在应用程序代码和WebView的HTML间编组数据了。

警告:
允许Javascript控制应用程序会存在安全威胁——允许远程执行应用程序的代码。请在确实需要使用时再使用本接口。

让我们来实际看一个示例。以下代码清单展示了WebView从本地assets目录中加载一个简单的HTML表单。以下代码清单则是一个使用了两个Javascript函数的Activity,这两个函数用来在Activity首选项与WebView的内容间交换数据。

assets/form.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<form name="input" action="form.html" method="get">
Enter Email: <input type="text" id="emailAddress
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值