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