在 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的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin iOS 在 UIWebView 中加载内容

我正在使用 uiwebview 中加载的内容可编辑 html。我需要代码来设置键盘隐藏/显示时的光标位置

在新线程中加载 UIWebView 内容

在 UITableViewCell 中加载 UIWebView 并根据 UIWebview 的内容制作 UITabViewCell 的高度

在 Html 中嵌入图像并在 UIWebView 中加载

知道何时在 UIWebView 中加载了 AJAX