Возможно ли запустить код javascript (возможно, NSString
) без использования UIWebView
? Я хотел бы запустить этот код в отдельном потоке, поэтому UIWebView невозможен, и я действительно не хочу ничего отображать, просто верните результаты.Запустить javascript без возможности UIWebView?
ответ
Я не пробовал, но вот одна идея:
Написать код выделить пустой UIWebView
, но не добавляет его как подвид в любом месте, и только непосредственно вызывать - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
на вашем JavaScript.
Затем используйте NSOperation
для запуска этого параллельно.
Любые причины, которые могут не сработать для вас? Я думаю, что это не позволит отобразить что-либо для UIWebView
.
В качестве примечания, я не могу думать ни о чем, что вы можете сделать в javascript, что вы не можете сделать более быстро непосредственно в Objective-C. За исключением, может быть, разбора javascript, который вы получаете извне, который Apple может считаться не-нет, в зависимости от деталей.
Угадайте свои цели: Если вы хотите разобрать ответ сервера JSON, я рекомендую json-framework library hosted on google code. Он имеет приятный интерфейс, и его удивительно легко изучить и интегрировать.
Я думаю, что статья Parmanoir Taming JavascriptCore within and without WebView может дать вам несколько советов.
JavaScriptCore не отображается в SDK (WebKit - это частный фреймворк), но ссылка очень интересная, спасибо! – user130444
self.timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(getResults:) userInfo:nil repeats:YES];
-(void)getResults
{
NSString *value = [self.webView stringByEvaluatingJavaScriptFromString:@"javascript"];
}
Любая причина, по которой вы не могли бы просто сделать что-то подобное. Не должно быть такого большого накладного расхода на основной теме.
- 1. Xcode запустить URL без UIWebView
- 2. вызов javascript цель-c без видимого uiwebview
- 3. Как запустить пакет - без возможности установки камней в нескольких группах?
- 4. UIWebView Javascript
- 5. Запустить javascript без загрузки страницы
- 6. Запустить функцию Javascript без onclick
- 7. UIWebView и JavaScript
- 8. UIWebView неправильно оценивает javascript
- 9. Включение возможности JavaScript
- 10. Вопросы о возможности Javascript
- 11. Javascript и возможности доступности
- 12. JavaScript Возможности мобильных приложений
- 13. Как запустить файл HTML + javascript, запущенный на UIWebView. .?
- 14. UIwebview без кэша
- 15. Как расширить существующий класс javascript без возможности коснуться кода класса?
- 16. Обнаружение возможности ЦПУ без сборки
- 17. Откат QundoStack без возможности повтора()
- 18. Выполняет поиск символов без возможности?
- 19. Javascript не запускается на UIWebView
- 20. UIWebView против WebView Javascript Injection
- 21. Запустить браузер без заголовка
- 22. Внесите JavaScript в UIWebView
- 23. iOS UIWebView Таймеры Javascript
- 24. return value javascript UIWebView
- 25. UIWebView Javascript интерфейс
- 26. Уязвимость UIWebview javascript?
- 27. Загрузка javascript на UIWebView
- 28. Javascript Crashing UIWebview
- 29. Отключить Javascript в UIWebView
- 30. UIWebView + пользовательские объекты JavaScript
Это не работает, для каждого метода UIWebView, который я пытаюсь вызвать, я получаю «bool _WebTryThreadLock (bool), 0xf42930: пытался получить веб-блокировку из потока, отличного от основного потока или веб-потока. может быть результатом вызова в UIKit из вторичного потока. Сбой сейчас ... » По моим причинам, я в основном экспериментирую :) – user130444
Если явно не задокументировано, небезопасно вызывать любой метод, кроме сохранения * на объект UIKit. Поэтому я не ожидал, что это когда-нибудь будет работать. –
* технически релиз является потокобезопасным сам по себе, но если вы последний человек для выпуска объекта, это может привести к тому, что dealloc будет запущен на вашем потоке, что не всегда безопасно. –