Javascript和目标c

Posted

技术标签:

【中文标题】Javascript和目标c【英文标题】:Javascript and objective c 【发布时间】:2012-03-16 04:41:59 【问题描述】:

我想在 webview 上显示一个弹出视图。并且应该在选择 webview 中的任何 UI 元素时显示弹出框。我能够在 javascript 代码中捕获触摸事件。任何人都可以帮助我.. 是否可以从 Javascript 发布通知事件..?有没有其他方法可以实现这一目标..? 谢谢。

【问题讨论】:

ios JavaScript bridge 的可能重复项 【参考方案1】:

这正是PhoneGap 所做的。它背后的想法是响应触摸,您的 JavaScript 会加载特定的 URL,可能带有自定义方案。 Web 视图代理的 -webView:shouldStartLoadWithRequest:navigationType: 方法在 Web 视图实际发出请求之前被调用。如果该方法的实现能够识别 URL,它就可以采取任何它喜欢的操作,例如显示弹出视图。

【讨论】:

但我不想使用任何第三方工具,例如 phonegap 或 sencha 或任何其他工具。谢谢你的建议。我会试一试。我从您的回答中了解到,我只需要加载一个 url 并在 webview 委托中捕获该 url.. 我并不是建议您使用PhoneGap——我只是解释了使PhoneGap 工作的想法。你可以在你的代码中做同样的事情。如果您想从 Web 视图中的 JavaScript 向您的 Objective-C 代码发送消息,请按照我的描述进行。【参考方案2】:

您可以轻松地从您的 Objective-C 方法调用您的脚本(在沙箱中)。 Thw Web kit 提供了评估脚本代码的方法[webview stringByEvaluatingJavaScriptFromString:@"myJavascriptFunction()"];查看本教程以了解更深入的了解Tutorial-1 和Tutorial-2.. 希望这对您有所帮助...

【讨论】:

+1 好点——这就是你从 Objective-C 代码调用 JavaScript 代码的方式。

以上是关于Javascript和目标c的主要内容,如果未能解决你的问题,请参考以下文章

js最佳实践

如何用JS实现修改浏览器地址

如何在 ios 中将变量从 javascript 传递到目标 C 和目标 C 到 Javascript

Javascript和目标c

JavaScript 设定目标=“_Blank”?外部链接和标准

JavaScript:onkeyup() 的原始目标