我正在创建一个应用程序,我是一个相对较新的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:
方法在本地端拦截它。
只有当你需要webview中的一些活动来触发获取(或通知本机代码该值已设置)。如果该值总是通过JS可用,你可以简单地使用stringByEvaluatingJavaScriptFromString:
,如下所示:
NSString *returnvalue = [self.webviewForHtml stringByEvaluatingJavaScriptFromString:@"var idx = "return_value";return idx;"];