将javascript变量传输到Objective C (IOS)

Transferring a javascript variable to to Objective C (IOS)

本文关键字:IOS Objective javascript 变量 传输      更新时间:2023-09-26

我正在创建一个应用程序,我是一个相对较新的Objective C程序员。在页面"test.php"上,我有一个javascript变量。以下是一个简化版本。

<script>
var idx = 45;
document.write(idx);
</script>

我希望能够在我的IOS应用程序中查看变量"idx"的值,这是我使用Xcode创建的。连接页面test.php并将Javascript变量传输到Objective C的最佳方式是什么,以便我可以将其用作IOS应用程序的一部分?

任何帮助都将非常感激。谢谢你。

您需要使用两部分的组合在webview和本机代码之间进行通信。首先,你需要通过调用webview上的stringByEvaluatingJavaScriptFromString:来"触发"webview返回一些值。当webview因为javascript调用而试图导航时,你可以用webview的shouldStartLoadWithRequest:方法在本地端拦截它。

在objective - c代码中使用UIWebView从HTML代码调用方法

只有当你需要webview中的一些活动来触发获取(或通知本机代码该值已设置)。如果该值总是通过JS可用,你可以简单地使用stringByEvaluatingJavaScriptFromString:,如下所示:

NSString *returnvalue =  [self.webviewForHtml stringByEvaluatingJavaScriptFromString:@"var idx = "return_value";return idx;"];