在移动应用开发中,调用JavaScript代码是一个常见的需求,无论是为了与前端页面进行交互,还是为了执行某些特定的逻辑,都可能需要从原生代码中调用JavaScript,本文将详细介绍如何在iOS和Android平台上实现这一功能。
iOS平台
使用WKWebView加载网页并调用JavaScript
1、创建WKWebView:需要创建一个WKWebView
实例来加载网页。
import WebKit class ViewController: UIViewController, WKNavigationDelegate { var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() let webConfiguration = WKWebViewConfiguration() webView = WKWebView(frame: self.view.bounds, configuration: webConfiguration) webView.navigationDelegate = self self.view.addSubview(webView) } }
2、加载网页:使用load
方法加载一个URL。
let url = URL(string: "https://example.com")! webView.load(url)
3、调用JavaScript:通过evaluateJavaScript
方法调用JavaScript代码。
webView.evaluateJavaScript("document.title", completionHandler: { (title, error) in if let title = title { print("Page title is (title)") } else if let error = error { print("Error: (error.localizedDescription)") } })
4、与JavaScript交互:可以通过回调函数与JavaScript进行交互。
webView.evaluateJavaScript("myFunction('arg1', 'arg2')", completionHandler: { (result, error) in if let result = result { print("Result from JavaScript: (result)") } else if let error = error { print("Error: (error.localizedDescription)") } })
Android平台
使用WebView加载网页并调用JavaScript
1、创建WebView:需要在布局文件中添加一个WebView
控件。
<WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" />
2、在Activity中初始化WebView:在Activity中初始化WebView
并加载网页。
import android.webkit.WebView; import android.webkit.WebViewClient; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private WebView myWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myWebView = findViewById(R.id.webview); myWebView.setWebViewClient(new WebViewClient()); myWebView.loadUrl("https://example.com"); } }
3、启用JavaScript:确保WebView
启用了JavaScript。
WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true);
4、调用JavaScript:通过evaluateJavascript
方法调用JavaScript代码。
myWebView.evaluateJavascript("document.title", new ValueCallback<String>() { @Override public void onReceiveValue(String value) { System.out.println("Page title is " + value); } });
5、与JavaScript交互:可以通过回调函数与JavaScript进行交互。
myWebView.evaluateJavascript("myFunction('arg1', 'arg2')", new ValueCallback<String>() { @Override public void onReceiveValue(String value) { System.out.println("Result from JavaScript: " + value); } });
详细介绍了在iOS和Android平台上如何通过原生代码调用JavaScript,在iOS上,主要使用了WKWebView
类,而在Android上则使用了WebView
控件,两者都提供了丰富的API来加载网页、执行JavaScript代码以及与JavaScript进行交互,希望这些信息能够帮助你在实际开发中更好地利用原生代码与JavaScript之间的互操作性。
以上就是关于“app 调用js”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/711751.html