是否有可能運行一些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的setInterval沒有運行功能
- 2. JavaScript是否可以在UIWebView中運行?
- 3. UIWEbView透明背景:有可能嗎?
- 4. Indy可以運行Javascript嗎?
- 5. 的Javascript沒有運行
- 6. 使用UIWebView構建的JavaScript運行
- 7. JavaScript代碼沒有運行
- 8. javascript函數沒有運行
- 9. 谷歌地圖api訪問iphone的可能性? (處理沒有UIWebView的javascript)
- 10. 我可以在PhantomJS中運行網頁的JavaScript功能嗎?
- 11. javascript if語句可以在沒有函數的情況下運行嗎?
- 12. RemoveEventListener沒有運行功能
- 13. 功能沒有運行
- 14. 沒有JavaScript的簡單等高DIV可能嗎?
- 15. javascript驗證 - Javascript沒有運行
- 16. Javascript不會在UIWebView上運行
- 17. 可能沒有運行時API執行的OS命令注入?
- 18. WPF ListView:行有可能有子行嗎?
- 19. https上的S3沒有cloudfront可能嗎?
- 20. 沒有Azure的Bot框架可能嗎?
- 21. 沒有MMU的微內核可能嗎?
- 22. Javascript:這可能嗎?
- 23. 網站能否在沒有javascript的情況下運行?
- 24. UIWebView沒有正確評估javascript
- 25. 是否有可能運行DOMContentLoaded之前的東西嗎?
- 26. 帶運行至完成語義的KVO - 有可能嗎?
- 27. 是否有可能有PHP加載和運行Javascript?
- 28. XSLT內的Javascript可能嗎?
- 29. 我可以在iPhone上運行JavaScript運行時(如v8)嗎?
- 30. 所有可能的行沒有重複
這似乎不工作,對於每個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