是否可以在Objective-C和JavaScript之间进行通信?从Objective-C调用JavaScript函数。从JavaScript调用Objective-C函数?如果是这样的话?
答案 0 :(得分:0)
如果您使用UIWebView来托管您的html + javascript,您可以使用
stringByEvaluatingJavaScriptFromString:方法来评估javascript片段(并从中调用您的JS函数)。
答案 1 :(得分:0)
使用phonegap。
phonegap的主要目标是允许js应用程序在iphone设备上运行。
IT本质上使用了stringByEvaluatingJavaScriptFromString:如上所述,但它有一整套很酷的东西,允许phonegap js类调用本机obj-c库。这意味着这些特定的js函数以obj-c速度运行。 phonegap音频对象就是一个很好的例子。
然而,它有一些很好的功能,可以加倍努力。您可以使用插件创建自己的自定义obj-c函数,并从js中调用它们。
你也可以用obj-c调用js: [webView stringByEvaluatingJavaScriptFromString:'alert('Hello;'];
注意webView是phonegap UIwebview的句柄。
您可以在phonegap插件和phonegap应用代表中自动获取此处。
但不确定如何从非手机上课中调用它,例如openfeint。
这就是我现在要问的问题。
答案 2 :(得分:0)
您可以使用UIWebView的shouldStartLoadWithRequest:
委托方法。
此时,从您想要调用本机方法的位置,准备一个假的URL,如fake://abc?par1=val1&par2=val2
,并使用虚假请求加载Web视图。
上面提到的委托方法将捕获请求,您可以在那里在协议的基础上处理请求。如果它是假的,那么做你想做的任何事情并从委托方法返回NO,否则返回YES以正常加载请求。