【发布时间】:2011-09-22 06:05:16
【问题描述】:
我创建了一个指向 CSS 文件的 html 链接,在浏览器中打开它,样式显示正确。
然后我将它加载到 WebView 中并且样式不显示。
我什至尝试将 <link> 从 Objective-C 插入 DOM,这是我的最终目标,但都没有成功。
我是否必须以某种方式在 webView 上启用 CSS?
编辑:
CSS 包含在 html 中:<link rel='StyleSheet' href="file://localhost/Users/petruza/Source/Scrape/build/Debug/Scrape.app/Contents/Resources/Scrape.css" type="text/css" >
插入到 DOM 中的 CSS:(我检查过,它确实被插入了)
NSURL *cssUrl = [[NSBundle mainBundle] URLForResource:@"Scrape.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];
编辑2:
我的 WebView 和 Safari 中显示的完全相同的 html:
【问题讨论】:
-
代码在哪里? CSS 包含是什么样的?
-
我不能开始赏金吗?我没有看到更多回复
标签: css cocoa macos webkit webview