Получить версию WebKit в какао - PullRequest
8 голосов
/ 29 августа 2011

Я работаю над приложением OSX, которому требуется предварительный просмотр CSS. Мне нужно найти способ отличить пользователей с Safari 5.0 от пользователей с Safari 5.1, потому что предварительный просмотр webkit имеет много различий в этих 2 версиях. Например, градиентная радиальная интерпретация совершенно другая!

Есть ли способ перехватить версию webkit?

Ответы [ 2 ]

6 голосов
/ 29 августа 2011

Вы можете получить строку user-agent для текущей версии WebKit, используя JavaScript. Просто сделайте что-то вроде этого:

NSString* userAgent = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];

, который будет производить что-то вроде этого:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.14 (KHTML, like Gecko)

Затем можно проанализировать строку агента пользователя, чтобы получить используемую версию WebKit.

4 голосов
/ 25 марта 2014

Это поможет вам получить версию WebKit до загрузки запроса, чтобы вы могли, вероятно, собрать свой собственный пользовательский агент. Так что это решение лучше:

NSBundle *webKit = [NSBundle bundleWithIdentifier:@"com.apple.WebKit"];
NSString *version = [[webKit infoDictionary] objectForKey:@"CFBundleVersion"];

if (webKit && [webKit load]) {
    NSLog(@"%@", [webKit infoDictionary]);
}

[webKit unload]; // you might also unload the bundle, if you don't need it later
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...