gpt4 book ai didi

ios - 从 uiwebview 的应用程序中加载 .CSS 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:21:14 25 4
gpt4 key购买 nike

我正在尝试从应用程序资源中将 .js 和 .css 文件加载到 uiwebview。我能够加载 .js 文件但无法加载 .css 文件请帮助。这是我的代码

- (void)webViewDidFinishLoad:(UIWebView *)webView {
//NSString *cssFile = @"styling.css";

NSString *jsFile = @"storage.js";
NSString *jsFilePath = [[NSBundle mainBundle] pathForResource:jsFile ofType:nil];
NSURL *jsURL = [NSURL fileURLWithPath:jsFilePath];
NSString *javascriptCode = [NSString stringWithContentsOfFile:jsURL.path encoding:NSUTF8StringEncoding error:nil];
[webView stringByEvaluatingJavaScriptFromString:javascriptCode];
}

此代码非常适合 .js 文件,但我如何在其中使用 .css 文件?

最佳答案

您基本上是在正确的轨道上,但您应该能够使用相同的 stringByEvaluatingJavaScriptString 方法添加 css。

- (void)webViewDidFinishLoad:(UIWebView *)webView {


NSString *jsFile = @"storage.js";
NSString *jsFilePath = [[NSBundle mainBundle] pathForResource:jsFile ofType:nil];
NSURL *jsURL = [NSURL fileURLWithPath:jsFilePath];
NSString *javascriptCode = [NSString stringWithContentsOfFile:jsURL.path encoding:NSUTF8StringEncoding error:nil];
[webView stringByEvaluatingJavaScriptFromString:javascriptCode];

// Updated to load css from "styling.css" file.
NSString *cssFile = @"styling.css";
NSString *cssFilePath = [[NSBundle mainBundle] pathForResource:jsFile ofType:nil];
NSURL *cssURL = [NSURL fileURLWithPath:jsFilePath];
NSString *cssString = [NSString stringWithContentsOfFile:jsURL.path encoding:NSUTF8StringEncoding error:nil];

// NSString *cssString = @"body { font-family: Verdana, Geneva, sans-serif; font-size: 50px; color: #F00; }";

NSString *javascriptString = @"var style = document.createElement('style'); style.innerHTML = '%@'; document.head.appendChild(style)";
NSString *javascriptWithCSSString = [NSString stringWithFormat:javascriptString, cssString];
[webView stringByEvaluatingJavaScriptFromString:javascriptWithCSSString];

}

执行此操作后,您可以通过使用 Safari 远程调试查看设备/模拟器上显示的页面的源代码来验证样式是否已应用。它可以向您显示某些现有 CSS 是否覆盖了您的。

关于ios - 从 uiwebview 的应用程序中加载 .CSS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49729606/

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