使用 loadData 时提供带有查询字符串的 UIWebview
Posted
技术标签:
【中文标题】使用 loadData 时提供带有查询字符串的 UIWebview【英文标题】:Provide a UIWebview with a querystring when using loadData 【发布时间】:2014-10-14 18:13:31 【问题描述】:我正在从 MainBundle 将 html 文件加载到 UIWebview 中,并希望传入查询字符串,因为 HTML 文件会检查 GET 参数 (?device=1) 以进行一些额外的计算。我还需要为 UIWebview 提供一个 baseURL(以拦截从 HTML 文件发出的请求)。
目前,我使用以下内容:
[myWebView loadData:dataFromHTMLFile MIMEType:mimeType
textEncodingName:@"utf-8" baseURL:[[NSURL alloc] initWithString:
[NSString stringWithFormat:@"mycustomprotocol:///%@",htmlFileName]]];
我知道我可以使用下面的代码通过一些 GET 参数将文件加载到 UIWebview 中,但这不允许我指定基本 URL:
NSURLRequest *request = [NSURLRequest requestWithURL:urlWithGETParameter cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:(NSTimeInterval)10.0 ];
[myWebView loadRequest:request];
有没有一种方法可以使用基本 URL 和查询字符串将数据加载到 UIWebview 中?
谢谢!
【问题讨论】:
这是可能的,但这将由您的服务器端开发人员完成。如果您想根据您在请求中发送的查询参数打开一个网页,那么它将在服务器端处理。您的服务器端开发者需要根据查询参数值来响应网页。 感谢您的回复。问题是我试图加载的“网页”是嵌入在我的应用程序中的文件。该文件是一个我不允许更改的库。我正在寻找一种将 ?device=1 发送到 watch.html 文件 (watch.html?device=1) 的方法,但我使用的 loadData 不允许我发送查询参数。 【参考方案1】:这是可能的,但这将由您的服务器端开发人员完成。如果您想根据您在请求中发送的查询参数打开一个网页,那么这将在服务器端处理。您的服务器端开发人员需要根据查询参数值响应网页。
【讨论】:
以上是关于使用 loadData 时提供带有查询字符串的 UIWebview的主要内容,如果未能解决你的问题,请参考以下文章
Liquibase CSV loadData 失败,带引号的字符串包含逗号
Android 应用程序中的编码问题 (WebView.LoadData())
[HTTP正文中的JSONModel loaddata发布数据
带有临时表的 RODBC::sqlQuery 提供空字符向量,尽管查询在 SSMS 中工作,较小的查询在相同的连接下工作