Objective-C和JavaScript之間可以進行通信嗎?從Objective-C調用JavaScript函數。從JavaScript調用Objective-C函數?如果是這樣如何?在html/js交互性的iphone原生應用程序
1
A
回答
0
如果您使用UIWebView來託管您的html + javascript,您可以使用
stringByEvaluatingJavaScriptFromString:方法來評估JavaScript片段(並從中調用您的JS函數)。
從javascript中調用ObjC代碼會很複雜:因爲我知道你只能從ObjC調用JS代碼,但不能反過來。
您可以定期從ObjC調用某個JS函數,並使用返回的字符串來選擇一些在ObjC中執行的操作。
我覺得有點ha,,但我沒有別的想法。
0
使用phonegap。
phonegap的主要目標是允許js應用程序在iPhone設備上運行。
它本質上使用stringByEvaluatingJavaScriptFromString:如上所述,但具有很酷的東西,允許phonegap js類調用本地obj-c庫的整個庫。這意味着這些特定的js函數以obj-c的速度運行。手機音頻對象就是一個很好的例子。
然而,它有一些不錯的功能,可以多走一步。你可以使用插件創建自己的自定義obj-c函數,並從js中調用這些函數。
您也可以致電與OBJ-C JS: [webView的stringByEvaluatingJavaScriptFromString: '警報(' 你好,'];
注Webview是一個句柄的PhoneGap的UIWebView
您會自動獲取。在PhoneGap的插件在這個手柄和PhoneGap的應用程序委託。
但是不知道如何將它從非PhoneGap的類如OpenFeint的調用。
這就是我現在要問。
0
你可以利用UIWebView的shouldStartLoadWithRequest:
委託方法。
在您想要調用本地方法的位置,準備一個僞造的URL,如fake://abc?par1=val1&par2=val2
,並使用假請求加載網絡視圖。
上面提到的委託方法會捕獲請求,並且您可以在協議的基礎上處理請求。如果它是假的,那麼做任何你想要的,並從委託方法返回NO,否則返回YES來正常加載請求。
相關問題
- 1. 混合應用程序與原生應用程序的性能
- 2. 從iPhone中的應用程序添加數據到原生iPhone應用程序?
- 3. iPhone AIR應用程序與原生Objective-C iPhone應用程序的集成
- 4. iphone睡眠模式和與應用程序的交互
- 5. JavaFx - 交互式排序應用程序
- 6. 使用USB的PC應用程序和iPhone應用程序之間的iPhone交互
- 7. 與excel交互的winform應用程序
- 8. Phonegap應用程序性能與原生應用程序性能對比
- 9. Joomla應用程序與移動應用程序的交互
- 10. 小應用程序的web應用程序交互
- 11. 開發原生應用程序以在Android和iPhone上運行?
- 12. 谷歌在iphone原生應用程序結帳?
- 13. 使用Airplay SDK的iPhone Web App到原生應用程序?
- 14. 使用Foursquare原生iPhone應用程序的授權
- 15. IPhone捕捉任何應用程序交互
- 16. iphone應用程序如何與服務器交互?
- 17. iPhone中的原生Meassage應用程序中的搜索欄
- 18. 如何向PlayStore提交反應原生android應用程序?
- 19. 開發原生應用程序並將應用程序加載到iPhone/iPod上
- 20. 反應原生應用程序的真實性
- 21. 服務器上的主機原生iPhone應用程序
- 22. iPhone原生應用程序中的奇怪閃屏問題?
- 23. 測試運行iPhone上的原生應用程序
- 24. iphone應用程序與網站互動
- 25. 富互聯網應用程序原型或Web應用程序原型
- 26. 從Mono應用程序與CLI應用程序交互
- 27. Web應用程序和硬件交互
- 28. 爲應用程序交互創建API
- 29. UIWebView與SMS應用程序交互
- 30. SQL Server和iPad應用程序交互