【问题标题】:UIWebView Expose Objective C to JavaScriptUIWebView 将 Objective C 暴露给 JavaScript
【发布时间】:2010-09-19 14:20:49
【问题描述】:

在使用UIWebView 时,如果使用iPhone SDK,我将如何在 JavaScript 中公开 Objective-C 方法?

任何帮助将不胜感激!

【问题讨论】:

    标签: ios objective-c iphone cocoa-touch uiwebview


    【解决方案1】:

    最好的方法是通过自定义链接,然后使用 UIWebView 委托方法-webView:shouldStartLoadWithRequest:navigationType: 来捕获请求。当您看到带有您的链接的请求通过时,您就知道您的操作已被触发。

    【讨论】:

    • 我不相信这会起作用,当我在测试类似的东西时,资源策略委托仅被调用以响应用户启动的操作,脚本启动操作被静默丢弃。自从我 6 月份回来查看后,这可能已经发生了变化。
    • 我刚刚尝试了一个非常简单的页面,它的 onload 功能将页面的位置设置为 www.google.com,并将请求传递给委托。
    • 刚刚在我的应用中使用了这个方法。谢谢!
    【解决方案2】:

    QuickConnectiPhone 框架中有一个示例应用程序向您展示如何执行此操作。

    QuickConnectiPhone 还为您提供了一个名为“makeCall”的 JavaScript 函数。你向它传递一个命令和一个参数数组,它会将它们传递给你的应用程序的 Objective-C 端进行处理。然后你就可以调用你的函数了。

    你可以找到它here on Sourceforge

    【讨论】:

      【解决方案3】:

      要查看此示例,请查看来自 Github 的 PhoneGap 源代码:

      http://github.com/sintaxi/phonegap/tree/master/iphone/Classes/GlassAppDelegate.m

      【讨论】:

      • 链接不再有效,需要更新
      猜你喜欢
      • 2011-09-07
      • 1970-01-01
      • 2016-08-26
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 2020-11-19
      • 2012-12-21
      相关资源
      最近更新 更多