Запустить JavaScript без UIWebView возможно? - PullRequest
5 голосов
/ 19 августа 2009

Можно ли запустить какой-нибудь код JavaScript (имеющий, возможно, NSString в качестве входных данных) без использования UIWebView? Я хотел бы запустить этот код в отдельном потоке, чтобы UIWebView был невозможен, и я действительно не хочу ничего визуализировать, просто верните результаты.

Ответы [ 3 ]

3 голосов
/ 20 августа 2009

Я не пробовал это, но вот одна идея:

Напишите код для выделения пустого UIWebView, но нигде не добавляйте его как подпредставление, и просто вызовите - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script в своем JavaScript.

Затем используйте NSOperation для параллельного запуска.

Любая причина, которая может не сработать для вас? Я думаю, что это не будет отображать что-либо для UIWebView.

В качестве примечания, я не могу думать о том, что вы можете сделать в javascript, что вы не можете сделать быстрее непосредственно в Objective-C. За исключением, возможно, синтаксического анализа javascript, который вы получаете извне, который Apple может считать нет-нет, в зависимости от деталей.

Догадываясь о своих целях: если вы хотите проанализировать ответ сервера JSON, я рекомендую библиотеку json-framework, размещенную в коде Google . У него приятный интерфейс, и его удивительно легко освоить и интегрировать.

1 голос
/ 20 августа 2009

Я думаю, что статья Пармануара Укрощение JavascriptCore внутри и без WebView может дать вам несколько советов.

0 голосов
/ 25 апреля 2012
 self.timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(getResults:) userInfo:nil repeats:YES];

-(void)getResults
{
    NSString *value = [self.webView stringByEvaluatingJavaScriptFromString:@"javascript"];
}   

Любая причина, по которой ты не мог просто сделать что-то подобное. Не должно быть слишком большой нагрузки на ваш основной поток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...