我正在寻找一种方法来加载我的UIWebView,其中包含一个应该影响UIWebView的loadRequest的本地CSS文件。
清晰度: 我有一个UIWebView,我用网站网址加载请求它。 我还有一个本地CSS文件应该影响这个loadRequest网址。
我想将这个CSS文件加载到UIWebView上。
谢谢,
答案 0 :(得分:3)
此stackoverflow question似乎有一两个可能对您有帮助的答案。
您需要加载本地CSS(使用与@Shrey使用的方法不同,但查找您的CSS文件),并以某种方式将其注入页面,唯一的方法似乎是使用:
[webview stringByEvaluatingJavaScriptFromString:someJavascriptToInjectCSS];
和一些聪明的Javascript来修改页面以添加CSS。
希望这有助于指明您正确的方向。我已经使用这种方法将内容注入到页面中,所以它确实有效,但我不太清楚Javascript编写代码以将CSS注入页面。
答案 1 :(得分:0)
这是Swift版本。
在webViewDidFinishLoad
委托方法上加载css文件并使用stringByEvaluatingJavaScriptFromString
。
积分here
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)
}
答案 2 :(得分:-1)
试试这个:
[WebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];