是否有可能運行一些JavaScript代碼(具有也許是NSString
作爲輸入),而無需使用UIWebView
?我想在一個單獨的線程中運行這個代碼,所以UIWebView是不可能的,我不想渲染任何東西,只需要返回結果。運行沒有UIWebView的JavaScript可能嗎?
回答
我沒有試過,但這裏是一個想法:
編寫代碼來分配一個空UIWebView
但不會添加任何地方作爲一個子視圖,而只是直接調用你的JavaScript - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
。然後用NSOperation
並行運行。
任何原因,可能不會爲你工作?我認爲它會避免顯示UIWebView
的任何內容。作爲一個方面說明,我想不出任何你可以用JavaScript做的事情,你不能在Objective-C中直接做得更快。除了解析你在外部獲得的javascript,這可能被蘋果視爲不可能,具體取決於細節。
猜測你的目標:如果你想解析一個JSON服務器的答覆,我推薦json-framework library hosted on google code。它有一個很好的界面,學習和集成起來非常容易。
我認爲Parmanoir的文章Taming JavascriptCore within and without WebView可能會給你一些建議。
JavaScriptCore沒有公開在SDK中(WebKit是一個私有框架),但鏈接非常有趣,謝謝! – user130444 2009-08-20 12:43:03
self.timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(getResults:) userInfo:nil repeats:YES];
-(void)getResults
{
NSString *value = [self.webView stringByEvaluatingJavaScriptFromString:@"javascript"];
}
任何你不能這樣做的原因。在主線程中不應該有那麼大的開銷。
- 1. JavaScript是否可以在UIWebView中運行?
- 2. 的JavaScript的setInterval沒有運行功能
- 3. UIWEbView透明背景:有可能嗎?
- 4. 在沒有UIWebView的情況下運行JavaScript
- 5. Javascript沒有運行
- 6. Indy可以運行Javascript嗎?
- 7. 運行JavaScript沒有的WebView
- 8. 的Javascript沒有運行
- 9. Javascript:可能會換行嗎?
- 10. Zookeeper:它可能沒有運行
- 11. 是否有可能通過UIAutomation在UIWebView中執行JavaScript?
- 12. 我可以在JavaScript中運行JavaScript嗎?
- 13. 我可以在UIWebView的不同域框架中注入/運行Javascript嗎?
- 14. 使用UIWebView構建的JavaScript運行
- 15. 可能顯示:沒有JavaScript沒有?
- 16. 按鈕沒有運行javascript
- 17. JavaScript函數沒有運行
- 18. JavaScript代碼沒有運行
- 19. javascript文件沒有運行
- 20. javascript函數沒有運行
- 21. Javascript onclick沒有運行
- 22. 沒有Java EE的JPA,有可能嗎?
- 23. 我可以在PhantomJS中運行網頁的JavaScript功能嗎?
- 24. 谷歌地圖api訪問iphone的可能性? (處理沒有UIWebView的javascript)
- 25. Iphone uiwebview和uitableview一起可能嗎?
- 26. javascript if語句可以在沒有函數的情況下運行嗎?
- 27. 功能沒有運行
- 28. RemoveEventListener沒有運行功能
- 29. 只能運行一次javascript嗎?
- 30. 沒有JavaScript的簡單等高DIV可能嗎?
這似乎不工作,對於每個UIWebView方法我嘗試調用我得到「bool _WebTryThreadLock(布爾),0xf42930:試圖從主線程或Web線程以外的線程獲取Web鎖。可能是從輔助線程調用UIKit的結果現在崩潰...「 至於我的原因,我主要是在試驗:) – user130444 2009-08-19 21:10:45
除非明確記錄,否則調用除保留之外的任何方法*並不安全*一個UIKit對象。所以我不希望這會有效。 – 2012-04-24 21:39:55
*技術上釋放是線程安全本身,但如果你是最後一個人釋放一個對象,它可能會導致的dealloc要在你的線程,這並不總是安全的運行。 – 2012-04-24 21:40:42