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

时间:2014-08-08 02:23:16

标签: javascript ios xcode

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

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

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

非常感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

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

有关详细信息,请参阅此处的详细信息Invoke method in objective c code from HTML code using UIWebView

仅当您需要在webview中使用某些活动来触发提取时(或通知本机代码已设置该值)。如果值始终可以通过JS获得,则可以使用stringByEvaluatingJavaScriptFromString:,如下所示:

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