5
我正在嘗試注入本地CSS文件來覆蓋網頁的樣式。該網頁顯示在iOS的UIWebView
容器中。但是我無法讓我的代碼工作。請參閱下面我的代理方法的代碼片段。這段代碼運行(我可以看到NSLog
消息),但是我看不到它在頁面上執行的結果。使用JavaScript將UI注入到UIWebView中
我知道它不能是我寫的CSS,因爲在這種情況下,我把頁面自己的CSS文件,只是改變了一些顏色。 (爲了測試此方法)
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *cssPath = [path stringByAppendingPathComponent:@"reader.css"];
NSString *js = [NSString stringWithFormat:@"var headID = document.getElementsByTagName('head')[0];var cssNode = document.createElement('link');cssNode.type = 'text/css';cssNode.rel = 'stylesheet';cssNode.href = '%@';cssNode.media = 'screen';headID.appendChild(cssNode);", cssPath];
[webView stringByEvaluatingJavaScriptFromString:js];
NSLog(@"webViewDidFinishLoad Executed");
}
這正是我需要的,非常感謝:) – 2cupsOfTech 2012-06-07 11:02:30
這並沒有考慮到的 – Daniel 2013-01-09 08:28:08
也有這種可能性,一個HTML甚至可能沒有一個頭標記 – Daniel 2013-01-09 08:36:01