оценитьJavaScript() с Error Domain=NSCocoaErrorDomain Code=3840 только на iPhone 5 - iOS 10.3.3

Я хочу ti evaluateJavaScript(), которая является функцией из WKWebView. Я получаю сообщение об ошибке с подробностями:

Домен ошибки = NSCocoaErrorDomain Code = 3840 «Текст JSON не начинался с массива или объекта, а параметр, разрешающий фрагменты, не установлен». UserInfo={NSDebugDescription=Текст JSON не начинался с массива или объекта, а параметр разрешения фрагментов не установлен.}

Может кто встречался с этой проблемой? Надеюсь на вашу долю. Спасибо!


person Huy Nguyen    schedule 02.02.2018    source источник


Ответы (1)


Вы можете проверить структуру JavaScriptCore, чтобы оценить JavaScript. это нативная платформа iOS.

пусть контекст = JJContext()

пусть _ = контекст?.evaluateScript(evaluateScriptJSCode)

пусть метод = контекст?.objectForKeyedSubscript("methodToCallInJavaScript")

пусть результат = метод?. вызов (с аргументами: [параметры])

person Raj Aggrawal    schedule 02.02.2018
comment
Спасибо @Raj Aggrawal, но я имею в виду, что я просто делаю здесь очень простое действие. Я хочу оценить строку javascript status=200, и после этого я обрабатываю другие параметры в evaluateJavascript() в блоке завершения, но с другим устройством это поддерживается, но с iOS 10.3.3 отображается сообщение, которое я прикрепил выше. - person Huy Nguyen; 02.02.2018
comment
@bryan вы загружаете js в Webview и показываете пользователю или просто оцениваете. если просто оценить и использовать результат, то JavaScriptCore может легко и эффективно выполнить вашу задачу. КАК я оцениваю длинный и сложный JS. - person Raj Aggrawal; 02.02.2018
comment
Спасибо @Радж Аггравал. Я решил это как ваш код =)) - person Huy Nguyen; 03.02.2018
comment
@Bryan Здорово, что есть решение. - person Raj Aggrawal; 06.02.2018