url编码 javascript-旗袍源码:如何在AndroidWebview中使用Javascript

2023-08-29 0 2,802 百度已收录

在联通应用程序开发中,存在一种情况,用户希望他们的交互式网页内容作为原生 Android 或 iOS 应用程序。 因此,开发人员有 2 个选择,他们可以从头开始构建应用程序,这需要额外的时间和资源,或者最简单、更快的选择是将网页作为 Web 视图嵌入到本机 Android 应用程序中。 它将减轻开发人员开发本机应用程序 UI 和仅使用当前网页中的 UI 的负担。

但是,这些方法都有局限性url编码 javascript,例如单个任务或手势只能发生在联通应用程序中,而不能发生在浏览器中,例如语音命令或滑动手势。 为了适应这种情况,我们需要在本机应用程序中添加额外的代码,并将本机任务连接到我们的 webview 应用程序。在这些情况下,javascript 注入作为将本机代码(Java 或 Swift)与网页代码(Javascript)桥接的解决方案

Android 中的 Javascript 注入

在这里我将尝试解释在 Nativeandroid 应用程序中加载网页需要完成的基本设置。首先,您需要在 Activity 布局中设置 WebView,以下是如何在 AndroidXML 文件中添加标记的示例

稍后,我们的应用程序需要访问互联网来工作,因此我们应该在Android清单文件中添加以下句型


    
    ...

现在,我们可以连接到MainActivity.java文件,我们需要在onCreate()函数中添加以下句型。 由于 onCreate 函数是我们初始化所有内容的第一个地方url编码 javascript,因此以下语法可以帮助我们初始化 webview。 需要将 setJavaScriptEnabled(true) 句型设置为 true,以授予此处使用 javascript 注入的权限。 addJavascriptInterface(this,"android") 语法将有助于创建可用作 Java 和 Javascript 之间桥梁的 Web 界面。 在这里,我们的界面将被称为 android。 最后一个模式是 loadUrl,它有助于在本机应用程序中加载我们的网页。

WebView webViewMain;
webViewMain = findViewById(R.id.webview);
webViewMain.getSettings().setJavaScriptEnabled(true);
webViewMain.addJavascriptInterface(this, "android");
webViewMain.loadUrl("https://www.example.com");

在 MainActivity.java 文件中,我们始终需要在 onCreate() 函数之外添加一个类。 这个类将存储我们想要在 javascript 中运行的所有函数,我们也可以从 javascript 获取任何值以传输到 java 本机应用程序变量。 一个例子是 getId 函数,它将 id 从 HTML 标签传输到本机应用程序以进行识别。

public class WebAppInterface {
    String value = "hello"
    
    @JavascriptInterface
    public String runValue() {
       return value;
    }
    @JavascriptInterface
    public int getId(id) {
       return id;
    }
}

要使用上述函数,我们可以在 onCreate() 或其他侦听器函数中添加以下语法。 大家可以认识到我们使用loadUrl来注入javascript,在loadurl中我们可以使用各种javascript句型来导入网页。 同样在loadurl中,我们需要添加里面已经创建的函数,并使用android作为父函数。

webViewMain.loadUrl("javascript:window.onclick = function(e) {n" +
    "android.getId(e.target.id);}");
webViewMain.loadUrl("javascript:android.getSpeechIndex()");

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript url编码 javascript-旗袍源码:如何在AndroidWebview中使用Javascript https://www.wkzy.net/game/175206.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务