Загрузите UIWebView с локальным файлом CSS - PullRequest
6 голосов
/ 29 июля 2011

Я ищу способ загрузить свой UIWebView с помощью локального файла CSS, который должен влиять на loadRequest UIWebView.

Для ясности: у меня есть UIWebView, который я загружаюRequest с URL-адресом веб-сайта.У меня также есть локальный файл CSS, который должен влиять на этот URL-адрес loadRequest.

Я хочу загрузить этот файл CSS в UIWebView.

Спасибо,

Ответы [ 3 ]

3 голосов
/ 29 июля 2011

У этого вопроса stackoverflow есть один или два ответа, которые могут вам помочь.

Вам нужно загрузить локальный CSS (используя метод, который не похож на @Shrey, но ищет ваш файл CSS), и каким-то образом внедрить его в страницу, и единственный способ - использовать:

[webview stringByEvaluatingJavaScriptFromString:someJavascriptToInjectCSS];

и немного умного Javascript для изменения страницы, чтобы добавить CSS.

Надеюсь, это поможет вам в правильном направлении. Я использовал этот метод для вставки чего-либо на страницы, поэтому он работает, но я недостаточно хорошо знаю Javascript, чтобы написать код для внедрения вашего CSS в страницу.

0 голосов
/ 20 августа 2016

Это версия Swift.

Загрузите файл css в методе делегата webViewDidFinishLoad и используйте stringByEvaluatingJavaScriptFromString.Кредиты здесь

 func loadWebViewStyles() {
        guard let cssPath = NSBundle.mainBundle().pathForResource("theme", ofType: "css") else {
            return
        }

        let loadStyles = "var script = document.createElement('link');  script.type = 'text/css'; script.rel = 'stylesheet'; script.href = '\(cssPath)'; document.getElementsByTagName('body')[0].appendChild(script);"

        webView.stringByEvaluatingJavaScriptFromString(loadStyles)
    }
0 голосов
/ 29 июля 2011

попробуйте это:

[WebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...