我制作了一个html链接到CSS文件,在浏览器中打开它,并且样式显示正确.
然后我在WebView中加载它并且样式不显示.
我甚至试图<link>从Objective-C 插入一个DOM,这是我的最终目标,但都没有奏效.
我是否必须以某种方式在webView上启用CSS?
编辑:
CSS包含在html中:
<link rel='StyleSheet' href="file://localhost/Users/petruza/Source/Scrapp/build/Debug/Scrapp.app/Contents/Resources/Scrapp.css" type="text/css" >
插入DOM的CSS :(我检查过它确实插入了)
NSURL *cssUrl = [[NSBundle mainBundle] URLForResource:@"Scrapp.css" withExtension: nil];
DOMDocument* dom = [[web mainFrame] DOMDocument];
[window setTitleWithRepresentedFilename: lastRunScript];
DOMElement* link = [dom createElement:@"link"];
[link setAttribute:@"rel" value:@"StyleSheet"];
[link setAttribute:@"type" value:@"text/css"];
[link setAttribute:@"href" value: [cssUrl absoluteString]];
DOMElement* head = (DOMElement*) [[dom getElementsByTagName:@"head"] item:0];
DOMElement* headFirstChild = head.firstElementChild;
if( headFirstChild )
[head insertBefore:link refChild:(DOMNode *)headFirstChild];
else
[head appendChild:(DOMNode *)link];
Run Code Online (Sandbox Code Playgroud)
edit2:
我的WebView和Safari中显示的完全相同的html:
