Javascript 通过HTML/JS在应用程序中触发函数

Javascript 通过HTML/JS在应用程序中触发函数,javascript,android,html,Javascript,Android,Html,我想在我的web应用中实现应用内购买,而无需添加辅助菜单。 我使用codecanyon上的Webapp的RocketWeb应用程序模板 是否可以在应用程序和网站上实施触发器以实现此目的: 用户按下按钮1(HTML),触发应用程序中的功能,弹出应用程序内购买模式。 我之所以这么做,是因为谷歌不太乐意增加直接支付 Modals n Co应该没有问题,但我想知道是否有可能将应用程序“桥接”到网站上。是的,这是可能的。您可以将网络视图连接到您的应用程序- 您需要做的是: 确保在WebView中启用了JS

我想在我的web应用中实现应用内购买,而无需添加辅助菜单。 我使用codecanyon上的Webapp的RocketWeb应用程序模板

是否可以在应用程序和网站上实施触发器以实现此目的:

用户按下按钮1(HTML),触发应用程序中的功能,弹出应用程序内购买模式。 我之所以这么做,是因为谷歌不太乐意增加直接支付


Modals n Co应该没有问题,但我想知道是否有可能将应用程序“桥接”到网站上。

是的,这是可能的。您可以
网络视图连接到您的应用程序-

您需要做的是:

  • 确保在WebView中启用了JS
  • 创建JS侦听器接口,该接口可以处理从WebView发送的消息:
  • 注意:如果您已将targetSdkVersion设置为17或更高,则必须将@JavascriptInterface注释添加到您希望JavaScript可用的任何方法中,并且该方法必须是公共的。如果不提供注释,则在Android 4.2或更高版本上运行时,您的网页无法访问该方法

  • 设置WebView的侦听器:
  • 在WebView中的JS中使用您的
    桥接器
    对象,无论您需要它,如下所示:
  • 您可以在侦听器中定义多个方法,并按如下方式调用它们:

    Bridge.[methodname]()

    您还可以将诸如String、int、boolean等基本参数用于这些方法:

    ...
    @JavascriptInterface
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
    ...
    
    并使用它:


    Bridge.showtoos(“toast文本”)

    是的,这是可能的。您可以
    网络视图连接到您的应用程序-

    您需要做的是:

  • 确保在WebView中启用了JS
  • 创建JS侦听器接口,该接口可以处理从WebView发送的消息:
  • 注意:如果您已将targetSdkVersion设置为17或更高,则必须将@JavascriptInterface注释添加到您希望JavaScript可用的任何方法中,并且该方法必须是公共的。如果不提供注释,则在Android 4.2或更高版本上运行时,您的网页无法访问该方法

  • 设置WebView的侦听器:
  • 在WebView中的JS中使用您的
    桥接器
    对象,无论您需要它,如下所示:
  • 您可以在侦听器中定义多个方法,并按如下方式调用它们:

    Bridge.[methodname]()

    您还可以将诸如String、int、boolean等基本参数用于这些方法:

    ...
    @JavascriptInterface
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
    ...
    
    并使用它:

    Bridge.showtoos(“toast文本”)

    //Adds listener to the webView, under global JS object `Bridge` (You can use any name you want here)
    webView.addJavascriptInterface(new WebAppInterface(this), "Bridge");
    
     Bridge.openPurchaceModal();
    
    ...
    @JavascriptInterface
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
    ...