gpt4 book ai didi

cocoa - 在加载之前操作 WebKit CSS 数据?

转载 作者:行者123 更新时间:2023-12-03 16:15:11 30 4
gpt4 key购买 nike

是否可以在 WebKit 解析 CSS 数据之前对其进行操作?

我尝试过使用委托(delegate)方法

- (NSURLRequest *)webView:(WebView *)sender
resource:(id)identifier
willSendRequest:(NSURLRequest *)request
redirectResponse:(NSURLResponse *)redirectResponse
fromDataSource:(WebDataSource *)dataSource

我可以通过写下我操作的 CSS,然后返回指向它的替代 NSURLRequest 来实现它。这工作正常,除了 DOM 树包含被操纵的 URLRequest 的路径,而不是原始路径,这对我的应用程序来说是个坏消息。

我可以在解析内存中的数据之前对其进行操作吗?

最佳答案

只需加载用户样式表即可覆盖您想要的任何 CSS(这是 CSS 的“级联”部分)。这是WebKit 的核心功能。

WebPreferences setUserStyleSheetEnabled:

有关实践中的示例,您可以查看 PandoraBoy 的 PlayerController它有钩子(Hook)(尽管我最终不需要实际使用它们)。查看-awakeFromNib

编辑:如果您确实需要以对 WebKit 完全透明的方式替换您自己的 CSS 文件,这是可能的,但需要更多工作,更令人困惑,并且通常不需要。也就是说,PandoraBoy 确实遇到了这个问题,并且有一个解决方案。看ResourceURLProtocol .

关于cocoa - 在加载之前操作 WebKit CSS 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2000869/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com