gpt4 book ai didi

objective-c - 将带有 URL 参数的 HTML 文件加载到 Cocoa(不是 iPhone)WebView 中

转载 作者:行者123 更新时间:2023-12-03 17:05:17 36 4
gpt4 key购买 nike

我使用以下命令将 HTML 文件加载到我的 Mac OSX 应用程序中的 WebView 中:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"html"];
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];
[[WebView mainFrame] loadRequest:request];

这工作正常......但我需要做的是读取附加了一些 URL 参数的同一个文件(例如 foo.html?var=bar),然后一些 JavaScript 将读取该文件用于输出。我尝试在 fileURL 上使用 URLByAppendingPathExtension:,但没有骰子...

最佳答案

问题是使用 fileURLWithPath: 方法创建的 URL 不支持查询字符串,因为通常查询字符串对于引用磁盘上文件的 URL 没有任何意义。

如果您想将 URL 参数传递给网页中的代码,我强烈建议您运行本地 Web 服务器并使用 http:// 方案 URL。在我看来,依赖 WebView 支持 file:// URL 上的查询字符串是脆弱的。

也就是说,您可以使用 URLWithString: 方法构造 URL,如下所示,它将起作用:

NSURL* fileURL = [NSURL URLWithString:@"file://localhost/Users/you/Desktop/foo.html?bar=foobar"];

在你的情况下,你可能会这样做:

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"html"];
NSString* URLString = [NSString stringWithFormat:@"file://localhost%@?var=%@", filePath, @"bar"];
NSURL* fileURL = [NSURL URLWithString:URLString];

关于objective-c - 将带有 URL 参数的 HTML 文件加载到 Cocoa(不是 iPhone)WebView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303010/

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