WebView загружает CSS на лету - PullRequest
7 голосов
/ 19 марта 2010

У меня есть следующий код, который загружает и HTML-файл в веб-просмотр

- (void)awakeFromNib{

    NSString *resourcesPath = [[NSBundle mainBundle] resourcePath];
    NSString *htmlPath = [resourcesPath stringByAppendingString:@"/main.html"];
    [[self mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlPath]]];

}

Как мне динамически загрузить файл CSS (наиболее эффективным способом), так как не подходит ссылка на файл CSS в файле HTML

1 Ответ

13 голосов
/ 19 марта 2010

Вы должны получить доступ к DOM с помощью API-интерфейса Objective-C DOM и вставить соответствующий элемент <link> или <style> в DOM.

DOMDocument* domDocument=[webView mainFrameDocument];
DOMElement* styleElement=[domDocument createElement:@"style"];
[styleElement setAttribute:@"type" value:@"text/css"];
DOMText* cssText=[domDocument createTextNode:@"body{font-weight:bold;}"];
[styleElement appendChild:cssText];
DOMElement* headElement=(DOMElement*)[[domDocument getElementsByTagName:@"head"] item:0];
[headElement appendChild:styleElement];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...