问题标签 [uiwebview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
41395 浏览

iphone - 使用 POST 参数通过 UIWebView 加载网页

是否可以通过带有 POST 参数的 UIWebView 加载页面?我可能可以只加载带有参数的嵌入式表单并用javascript填充它们并强制提交,但是有没有更清洁和更快的方法?

谢谢!

0 投票
2 回答
35071 浏览

iphone - UIWebView 加载解析的 html 字符串

我正在构建一个应用程序,它将向用户显示一些时事通讯。时事通讯显示在 uiWebView 中。我正在阅读来自 rss 提要的时事通讯的网址。我解析 xml,在表格视图中我有所有的时事通讯。单击单元格时,将推送 uiWebView 并加载时事通讯。因为 uiWebView 没有打开具有 target=_blank 的链接,所以我需要将目标中的 _blank 替换为“”。在 NSOperation 中,我下载了 html 的内容,下载完成后,我替换了这样的字符串:

在我这样做之后,我在 webView 中加载解析的字符串以将其显示给用户。

当 NSOperation 正在下载页面内容时,会显示一个带有活动指示器的 HUD 和一个显示 Loading 的标签。下载完成后,HUD 将从超级视图中移除。

到目前为止一切都很好..但是问题来了。我将 NSOperation 与回调函数一起使用,因为我无法确定对 webDidFinishLoading 的最后一次调用(我阅读了此UIWebView - 如何识别“最后一个”webViewDidFinishLoad 消息? - 这是我的问题的一部分,但响应是使用一些 Apple 私人课程,这对我来说是个问题)。所以我这样做:

}

在我触摸表格视图中的一个单元格并显示时事通讯后,它看起来应该如此,当我单击时事通讯中的链接时,页面加载了新请求,已解析但视觉上看起来不像它应该的那样(我看了在 NSLog 解析后的页面上,它具有 css 样式和 html 标签,头部,正文正确打开和关闭)有人遇到 uiWebView 这个问题,没有正确显示网页吗?

我尝试- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{ return YES; } 在 - (void)webViewDidFinishLoad:(UIWebView *)webview {} 和 - webViewDiStartLoad 中加载页面

但是对于在 webview 中加载的每个项目都调用了这些方法,因此在这些方法中显示和隐藏 HUD 并不是一个好的解决方案。

我在使用时遇到了一些问题 - (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { ... return NO }

例如,具有 /bilder-galerien 这样的路径的链接不起作用,并且在 NSLog 中我为他们收到了这个

未知方案,什么都不做:/bilder-galerien

但是当我使用

  • (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { return Yes } 和 didstartLoading 和 finishLoading 加载了网址,我不知道为什么...

另一个问题是特殊的德语字符..在我的第一次加载中(在 uiTableView 中按下单元格后)页面被解析为应该由 uiWebView 但在我单击链接并加载相应的请求后字符也不是正确解析..

谁能指出我正确的方向?先感谢您

0 投票
2 回答
4779 浏览

iphone - UIActivityIndi​​catorView 在网页请求之前和之后开始/停止

我正在使用objective-c和iphone 3.0 sdk

我想检索 URL(网页或 pdf)的内容并将其显示在UIWebView

似乎要做的事情是这样的:

这工作得很好,除了一件事。

在某些情况下,请求需要一段时间(比如说 5-10 秒)。我有一个 UIActivityIndi​​catorView,我想在加载请求的开始和结束时“开始”和“停止”。

但是,如果我这样做

它不起作用,因为 loadRequest 调用是异步完成的,所以我的 UIActivityIndi​​catorView 几乎立即停止

有没有办法在 URL 请求的开头和结尾开始/停止我的“busySignal”?

作为替代方案,我认为这可以通过 NSURLConnection 来完成,它给了我回调函数“connectionDidFinishLoading:”

但我似乎无法弄清楚如何从 NSURLConnection 转到显示网页。

所以,我想这是2个问题。

1.你可以在调用 loadRequest: 的开始/结束时启动/停止 UIActivityIndi​​catorView 吗? 2.如何使用 NSURLConnection 来获取 URL 的内容并在 UIWebView 上显示信息?

谢谢!

0 投票
1 回答
515 浏览

iphone - 自动标签切换

我正在使用 UITableView 构建一个 iPhone 应用程序。在选择一行时,网页将加载到下一个选项卡中的 UIWebView 中。目前这一切正常,但是,如何将应用程序设置为自动移动到已将网页加载到 UIWebView 的选项卡中?

是否有某种形式的动画可以滑入下一个选项卡,或者只是一些简单的功能可以切换到另一个选项卡?

代码方面,我在 didSelectRowAtIndexPath 中控制它,目前有:

再次澄清一下,网页成功加载到下一个选项卡中的 UIWebView 'webview' 中,但我必须手动单击选项卡才能看到它。网页加载后,应用程序如何自动移动到下一个选项卡,而无需手动单击下一个选项卡?

提前致谢,

本吉

0 投票
2 回答
5845 浏览

iphone - UIActivityIndi​​catorView 动画

我有一个 tableview 控制器,当我选择一行时,它会推动另一个视图控制器。在该视图控制器的 loadView 中,我必须请求一个 url。完成请求需要 5 或 10 秒。我必须为那个延迟显示 UIActivityIndi​​catorView 。我的表视图 didSelectRowAtIndexPath 中有一个 UIActivityIndi​​catorView,我想“开始”和“停止”动画。但它在推动视图控制器之前并没有启动动画。这样它在延迟发生时不可见。由于某些原因,我无法使用 uiwebview。

0 投票
3 回答
2204 浏览

iphone - A/Synchronous NSURLConnection:在没有下载数据的情况下获得响应?

高度赞赏帮助。我被困在这里:

在开始在 UIWebView 中加载 URL 之前,我需要检查响应。然而,同步的 NSURLConnection 将首先下载数据,然后让我访问响应,这很糟糕。

异步 NSURLConnection 将让我在收到任何数据之前检查响应,但我只能检查委托方法 connection:didReceiveResponse: 中的响应。但随后我将不得不告诉我的 webView 的删除方法 (webView:shouldStartLoadWithRequest:navigationType:) 等到响应出现。因为两个委托都在主线程中(他们必须是?我猜是这样)我不能简单地使用 NSCondition 来停止 webView 的委托(因为这意味着停止主线程)。

有谁知道如何解决这个问题?

提前致谢。

0 投票
3 回答
8907 浏览

iphone - 如何在 UIWebView 下添加控件

在 UIWebView 下添加几个控件(例如一些 UIButton)的最简单、最快或其他(客观上)最佳方式是什么?

需要明确的是,我想显示一个常规滚动的 UIWebView,但是当滚动到底部时,我希望在 web 内容之后有一些 UIControls。我宁愿不要用看起来像控件的 HTML/CSS 内容来伪造它;理想情况下,它们应该是真正的控件,我可以像往常一样连接到我的视图控制器。

我不知道尝试使用一个包含 UIWebView 和控件的大 UIScrollView 是否最简单(UIScrollView 和嵌套的 UIWebView 之间会存在滚动冲突吗?),还是使用包含 Web 视图和控件的 UITableView在单独的单元格中(性能会很糟糕吗?),或者以我没有想到的其他方式。

更新:我不认为我希望 UIWebView 本身实际滚动;我认为我需要调整它的大小以适应其所有内容,完全禁用其滚动行为,然后允许用户滚动其父视图(UIScrollView 或 UITableView)以显示 UIWebView 的不同部分。

0 投票
2 回答
861 浏览

iphone - 如何使用可点击的超链接呈现文本,您可以在其中控制点击操作?

我正在尝试在我的应用程序中显示一些文本,其中文本中可能有一些 URL。我希望 URL 突出显示为超链接和可点击。此外,当它被点击时,我想提供一个回调,我可以在其中执行自定义操作。当然,应该将 URL 传递回我的回调,以便我知道如何处理它(比如在应用内浏览器中打开它等)。

这听起来可能很复杂,但基本上应用商店中的所有 IM 应用(其中超过 30 个)都具有此功能,用户可以发送包含 URL 的 IM,接收端可以单击它并在应用内浏览器中打开页面.

这是怎么做到的?我就是想不通。如果您有解决方案,请提供示例代码。谢谢你。


顺便提一句:

答案不是 UIWebView(因为渲染它的多个实例非常慢)。

答案也不是UITextView,因为虽然它能够解析 URL,但不能在点击时设置自定义回调。所以它只是结束了野生动物园。

答案也不是TTStyledTextLabel,因为虽然它能够解析 URL 并为其分配自定义操作,但它需要在 URLMap 中预先分配。显然,在这种情况下,我们事先并不知道 URL 是什么。据我所知,您不能将所有 url 分配给自定义操作。

替代文字 http://img169.yfrog.com/img169/3373/picture1ufx.png

0 投票
2 回答
2144 浏览

iphone - 从 .html 文件加载 Web 视图中的图像

如何从 .html 文件在 iphone webview 中加载图像?

0 投票
2 回答
2395 浏览

iphone - UIWebView 滚动生涩

我需要通过UIWebView.

当我在 Mobile Safari 中滚动页面时,一切都会顺利滚动。即使我快速滚动 - 灰色方形背景出现但在片刻(少于 0.5 秒)后正确呈现。

UIWebView如果快速滚动并且不显示灰色方形背景,则同一页面会突然滚动。我猜 Mobile Safari 首先显示灰色方形背景,然后渲染,同时UIWebview停止滚动,直到将要显示的部分被渲染。

如何告诉我UIWebView表现得像 Mobile Safari?