可以在没有UIWebView的情况下运行javascript吗?

use*_*444 5 javascript iphone cocoa-touch objective-c

是否可以运行一些javascript代码(可能有NSString输入)而不使用UIWebView?我想在一个单独的线程中运行此代码,因此UIWebView是不可能的,我真的不想渲染任何东西,只需返回结果.

Tyl*_*ler 3

我没有尝试过,但这里有一个想法:

编写代码来分配一个空的UIWebView,但不将其添加为任何地方的子视图,而只是直接调用- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script您的 JavaScript。

然后使用NSOperation并行运行它。

有什么理由可能对你不起作用吗?我认为这会避免显示任何内容UIWebView

顺便说一句,我想不出有什么可以在 javascript 中做而不能直接在 Objective-C 中更快地完成的事情。除了解析从外部获得的 javascript 之外,这可能会被 Apple 视为禁忌,具体取决于细节。

猜测你的目标:如果你想解析 JSON 服务器回复,我推荐托管在 google code 上的 json-framework 库。它有一个漂亮的界面,而且非常容易学习和集成。

  • 这似乎不起作用,对于我尝试调用的每个 UIWebView 方法,我都会得到“bool _WebTryThreadLock(bool), 0xf42930: 尝试从主线程或 Web 线程以外的线程获取 Web 锁。这可能是从辅助线程调用 UIKit 的结果。现在崩溃......”至于我的原因,我主要是在尝试:) (2认同)