在 UIWebView 中加载 html 内容 - iOS
Posted
技术标签:
【中文标题】在 UIWebView 中加载 html 内容 - iOS【英文标题】:Load html content in UIWebView - iOS 【发布时间】:2017-07-21 08:05:26 【问题描述】:我正在 UIWebview (iPhone6) 中加载 html 内容,并且内容具有可操作的按钮。按下其中一个按钮后,内容中间会出现一个弹出窗口(内容大约有 6-7 页长)。结果,用户无法在第一个屏幕上看到弹出窗口。早些时候,我认为这是内容的问题,但在 android 上,弹出窗口出现在第一页的中间。
-(void) loadScorm
NSString *scormUrl = self.content.media.scormUrl;
scormUrl = [NSString stringWithFormat:@"%@%@", @"https:" , scormUrl];
NSURL *url = [NSURL URLWithString:scormUrl];
NSString *body;
body = //constructed body
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL: url];
[request setHTTPMethod: @"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:[body dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]];
self.webView.scalesPageToFit = YES;
[self.webView loadRequest:request];
self.webView.frame = self.webViewContainer.frame;
我还读到 UIWebView 的 javascript 默认启用。我错过了什么?任何指针将不胜感激。
PS:由于内容分类,不能分享截图。
【问题讨论】:
【参考方案1】:如何通过 Code 或 IBOutlet 创建 UIWebView。
如果您是通过 IBOutlet 创建 webView,那么您必须检查 Storyboard 中的一些 webView 属性,例如
然后您的 webView 将接受事件。
如果您是通过代码创建 UIWebView 的,请编写此代码
[your_webView_Object setDataDetectorTypes: UIDataDetectorTypeAll];
【讨论】:
【参考方案2】: [webview loadHTMLString: [NSString stringWithFormat:@"<div id ='foo' align='justify' style='font-size:22px; font-family:helvetica; color:#ffffff';>%@<div>",[jsonObject objectForKey:@"msg"]] baseURL:nil];
希望对你有用
【讨论】:
【参考方案3】:显然,这是内容创建者方面的问题。该人不包括在 ios 平台上对 Safari 和 Chrome 的支持,因此存在这些问题。
【讨论】:
以上是关于在 UIWebView 中加载 html 内容 - iOS的主要内容,如果未能解决你的问题,请参考以下文章
我正在使用 uiwebview 中加载的内容可编辑 html。我需要代码来设置键盘隐藏/显示时的光标位置
在 UITableViewCell 中加载 UIWebView 并根据 UIWebview 的内容制作 UITabViewCell 的高度