gpt4 book ai didi

cocoa - 如何在 WebView Cocoa/Mac OS 上加载带有图像、js 和 css 的本地 html 文件

转载 作者:行者123 更新时间:2023-12-03 16:04:00 25 4
gpt4 key购买 nike

我有代码可以在 iOS 上实现此功能。使用我在这里和网络上找到的任何内容,我设法找到了制作 Cocoa Mac OS 版本的地方,但图像无法加载。 CSS 和 Javascript 似乎也没有加载。 HTML 的目录被添加到资源组中,但它被添加为文件夹引用(蓝色文件夹),这使得 Xcode 尊重 HTML 应用程序的目录结构。

这是我尝试使用的代码:

NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"index" 
ofType:@"html"
inDirectory:@"/Patient_eMMR_HTML5" ];
NSString *html = [NSString stringWithContentsOfFile:htmlPath
encoding:NSUTF8StringEncoding
error:nil];

[[webView mainFrame] loadHTMLString:html baseURL:[NSURL fileURLWithPath:
[NSString stringWithFormat:@"%@/Patient_eMMR_HTML5/",
[[NSBundle mainBundle] bundlePath]]]];

这是我上面使用的代码的 iOS 版本代码:

NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"index" 
ofType:@"html"
inDirectory:@"/Patient_eMMR_HTML5" ];

NSString *html = [NSString stringWithContentsOfFile:htmlPath
encoding:NSUTF8StringEncoding
error:nil];

[webView loadHTMLString:html
baseURL:[NSURL fileURLWithPath:
[NSString stringWithFormat:@"%@/Patient_eMMR_HTML5/",
[[NSBundle mainBundle] bundlePath]]]];

非常感谢任何帮助。谢谢。

最佳答案

如果您通过 NSURLRequest 而不是作为字符串加载 HTML,则无需处理基本 URL:

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"index" 
ofType:@"html"
inDirectory:@"Patient_eMMR_HTML5"];
NSURL* fileURL = [NSURL fileURLWithPath:filePath];
NSURLRequest* request = [NSURLRequest requestWithURL:fileURL];
[[webView mainFrame] loadRequest:request];

请注意,您应该仅在 -pathForResource:... 方法中指定目录名称,不要在其前面添加正斜杠。假设指定的目录是主包目录的根目录。

请注意,UIWebView 也有一个 -loadRequest: 方法,因此您可以在 iOS 上使用几乎相同的代码。

关于cocoa - 如何在 WebView Cocoa/Mac OS 上加载带有图像、js 和 css 的本地 html 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6833045/

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