gpt4 book ai didi

javascript - 将网页的java脚本中存在的函数调用到android应用程序中

转载 作者:行者123 更新时间:2023-12-03 06:12:43 25 4
gpt4 key购买 nike

如何将网页的java脚本中存在的函数调用到android应用程序中。我想在android应用程序中显示该函数返回的结果。

例如 getTalukas 函数返回字符串列表。我想在 Android 应用程序中显示它。

<script type="text/javascript">
//<![CDATA[
var PageMethods = function() {
PageMethods.initializeBase(this);
this._timeout = 0;
this._userContext = null;
this._succeeded = null;
this._failed = null;
}
PageMethods.prototype = {
_get_path:function() {
var p = this.get_path();
if (p) return p;
else return PageMethods._staticInstance.get_path();},
getTalukas:function(id,succeededCallback, failedCallback, userContext) {
return this._invoke(this._get_path(), 'getTalukas',false,{id:id},succeededCallback,failedCallback,userContext); },
getVillages:function(did,tid,succeededCallback, failedCallback, userContext) {
return this._invoke(this._get_path(), 'getVillages',false,{did:did,tid:tid},succeededCallback,failedCallback,userContext); },
getKnos:function(ptxt,vid,did,tid,succeededCallback, failedCallback, userContext) {
return this._invoke(this._get_path(), 'getKnos',false,{ptxt:ptxt,vid:vid,did:did,tid:tid},succeededCallback,failedCallback,userContext); },
getSnos:function(ptxt,vid,did,tid,succeededCallback, failedCallback, userContext) {
return this._invoke(this._get_path(), 'getSnos',false,{ptxt:ptxt,vid:vid,did:did,tid:tid},succeededCallback,failedCallback,userContext); },
getKnames:function(ptxt,vid,opt,did,tid,succeededCallback, failedCallback, userContext) {
return this._invoke(this._get_path(), 'getKnames',false,{ptxt:ptxt,vid:vid,opt:opt,did:did,tid:tid},succeededCallback,failedCallback,userContext); },
getSnames:function(ptxt,vid,opt,did,tid,succeededCallback, failedCallback, userContext) {
return this._invoke(this._get_path(), 'getSnames',false,{ptxt:ptxt,vid:vid,opt:opt,did:did,tid:tid},succeededCallback,failedCallback,userContext); },
call8a:function(kno,vid,dn,tn,vn,did,tid,succeededCallback, failedCallback, userContext) {
return this._invoke(this._get_path(), 'call8a',false,{kno:kno,vid:vid,dn:dn,tn:tn,vn:vn,did:did,tid:tid},succeededCallback,failedCallback,userContext); },
call712:function(sno,vid,dn,tn,vn,tc,dc,did,tid,succeededCallback, failedCallback, userContext) {
return this._invoke(this._get_path(), 'call712',false,{sno:sno,vid:vid,dn:dn,tn:tn,vn:vn,tc:tc,dc:dc,did:did,tid:tid},succeededCallback,failedCallback,userContext); },
getCTSOs:function(id,succeededCallback, failedCallback, userContext) {
return this._invoke(this._get_path(), 'getCTSOs',false,{id:id},succeededCallback,failedCallback,userContext); },
getCTSOLink:function(did,tid,succeededCallback, failedCallback, userContext) {
return this._invoke(this._get_path(), 'getCTSOLink',false,{did:did,tid:tid},succeededCallback,failedCallback,userContext); }}
PageMethods.registerClass('PageMethods',Sys.Net.WebServiceProxy);
PageMethods._staticInstance = new PageMethods();
PageMethods.set_path = function(value) { PageMethods._staticInstance.set_path(value); }
PageMethods.get_path = function() { return PageMethods._staticInstance.get_path(); }
PageMethods.set_timeout = function(value) { PageMethods._staticInstance.set_timeout(value); }
PageMethods.get_timeout = function() { return PageMethods._staticInstance.get_timeout(); }
PageMethods.set_defaultUserContext = function(value) { PageMethods._staticInstance.set_defaultUserContext(value); }
PageMethods.get_defaultUserContext = function() { return PageMethods._staticInstance.get_defaultUserContext(); }
PageMethods.set_defaultSucceededCallback = function(value) { PageMethods._staticInstance.set_defaultSucceededCallback(value); }
PageMethods.get_defaultSucceededCallback = function() { return PageMethods._staticInstance.get_defaultSucceededCallback(); }
PageMethods.set_defaultFailedCallback = function(value) { PageMethods._staticInstance.set_defaultFailedCallback(value); }
PageMethods.get_defaultFailedCallback = function() { return PageMethods._staticInstance.get_defaultFailedCallback(); }
PageMethods.set_enableJsonp = function(value) { PageMethods._staticInstance.set_enableJsonp(value); }
PageMethods.get_enableJsonp = function() { return PageMethods._staticInstance.get_enableJsonp(); }
PageMethods.set_jsonpCallbackParameter = function(value) { PageMethods._staticInstance.set_jsonpCallbackParameter(value); }
PageMethods.get_jsonpCallbackParameter = function() { return PageMethods._staticInstance.get_jsonpCallbackParameter(); }
PageMethods.set_path("Home.aspx");
PageMethods.getTalukas= function(id,onSuccess,onFailed,userContext) {PageMethods._staticInstance.getTalukas(id,onSuccess,onFailed,userContext); }
PageMethods.getVillages= function(did,tid,onSuccess,onFailed,userContext) {PageMethods._staticInstance.getVillages(did,tid,onSuccess,onFailed,userContext); }
PageMethods.getKnos= function(ptxt,vid,did,tid,onSuccess,onFailed,userContext) {PageMethods._staticInstance.getKnos(ptxt,vid,did,tid,onSuccess,onFailed,userContext); }
PageMethods.getSnos= function(ptxt,vid,did,tid,onSuccess,onFailed,userContext) {PageMethods._staticInstance.getSnos(ptxt,vid,did,tid,onSuccess,onFailed,userContext); }
PageMethods.getKnames= function(ptxt,vid,opt,did,tid,onSuccess,onFailed,userContext) {PageMethods._staticInstance.getKnames(ptxt,vid,opt,did,tid,onSuccess,onFailed,userContext); }
PageMethods.getSnames= function(ptxt,vid,opt,did,tid,onSuccess,onFailed,userContext) {PageMethods._staticInstance.getSnames(ptxt,vid,opt,did,tid,onSuccess,onFailed,userContext); }
PageMethods.call8a= function(kno,vid,dn,tn,vn,did,tid,onSuccess,onFailed,userContext) {PageMethods._staticInstance.call8a(kno,vid,dn,tn,vn,did,tid,onSuccess,onFailed,userContext); }
PageMethods.call712= function(sno,vid,dn,tn,vn,tc,dc,did,tid,onSuccess,onFailed,userContext) {PageMethods._staticInstance.call712(sno,vid,dn,tn,vn,tc,dc,did,tid,onSuccess,onFailed,userContext); }
PageMethods.getCTSOs= function(id,onSuccess,onFailed,userContext) {PageMethods._staticInstance.getCTSOs(id,onSuccess,onFailed,userContext); }
PageMethods.getCTSOLink= function(did,tid,onSuccess,onFailed,userContext) {PageMethods._staticInstance.getCTSOLink(did,tid,onSuccess,onFailed,userContext); }
//]]>
</script>

最佳答案

另一种选择是您可以在应用程序中创建可以从 JavaScript 调用的函数(注意:请小心这一点,否则可能会产生安全问题)

下面的例子取自https://developer.android.com/guide/webapps/webview.html

关键部分:

public class WebAppInterface {
Context mContext;

/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
mContext = c;
}

/** Show a toast from the web page */
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
}

主程序:

WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");

HTML 页面:

<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />

<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}

关于javascript - 将网页的java脚本中存在的函数调用到android应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39252552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com