将 javascript 变量转移到 Objective C (IOS)
Posted
技术标签:
【中文标题】将 javascript 变量转移到 Objective C (IOS)【英文标题】:Transferring a javascript variable to to Objective C (IOS) 【发布时间】:2014-08-08 02:23:15 【问题描述】:我正在创建一个应用程序,并且是一个相对较新的 Objective C 程序员。在“test.php”页面上,我有一个 javascript 变量。这是一个简化的版本。
<script>
var idx = 45;
document.write(idx);
</script>
我希望能够在我使用 Xcode 创建的 ios 应用程序中查看变量“idx”的值。连接到页面 test.php 并将我的 Javascript 变量传输到 Objective C 以便我可以将其用作我的 IOS 应用程序的一部分的最佳方式是什么?
任何帮助将不胜感激。谢谢。
【问题讨论】:
"xcode" 不是运行时环境。因此,标题和大部分内容毫无意义。确保更 [准确] 详细地描述 实际 上下文:例如。这是 UIWebView 吗? 【参考方案1】:您需要结合使用两部分在 webview 和本机代码之间进行通信。首先,您需要通过在 webview 上调用 stringByEvaluatingJavaScriptFromString:
来“触发” webview 返回一些值。当 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;"];
【讨论】:
谢谢。这有助于让我知道我应该做什么,现在我还有其他参考资料可供参考。以上是关于将 javascript 变量转移到 Objective C (IOS)的主要内容,如果未能解决你的问题,请参考以下文章
将 MoPub 故障转移标签集成到 Media.Net Javascript
Javascript中判断变量是数组还是对象(array还是object)
javascript 将HTML中的IMG物件的ALT属性转移到的JavaScript中,使用jQuery的。
javascript 将变体转移到另一页(在源页面上保留副本)。将以下功能添加到源页面的控制台。网络