是否有可能运行一些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