Похоже, есть несколько предложений, но, похоже, ничего не работает:
https://stackoverflow.com/search?q=UIWebview+load+local+css+remote+website&submit=search
Я загружаю 2 файла JavaScript после загрузки веб-сайта.
Первый устанавливает некоторые свойства, а второй проходит через DOM и изменяет форматирование страницы. Я могу убедиться, что тег ссылки с правильным href вставлен в DOM, просматривая элементы ссылки. Обработка, выполняемая вторым сценарием, также выполняется правильно.
Я также могу установить это как букмарклет в браузере, и это работает во всех браузерах, которые я тестировал до сих пор. Только CSS не принимает UIWebView.
Кто-нибудь заставил это работать недавно?
Obj-C
NSString * css = [[NSBundle mainBundle] pathForResource:@"mycss" ofType:@"css"];
NSURL * cssURL = [NSURL fileURLWithPath:css];
[_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"appendCSS('%@')", cssURL]];
JavaScript
function appendCSS(csshref)
{
//alert(css);
var css=document.createElement('link');
css.rel='stylesheet';
css.href=csshref;
css.type='text/css';
css.media='all';
//Try a couple of things. Appear to be equivalent.
//document.documentElement.appendChild(css);
document.getElementsByTagName('head')[0].appendChild(css);
}