问题标签 [uiwebviewdelegate]

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 投票
2 回答
9855 浏览

javascript - UIWebview 中的 NSString

我的NSString项目中有一个 webView(iPhone 的 Objective-C),我调用index.html了 webView 并在其中插入了我的脚本(javascript)。

如何在我的脚本中将 NSString 作为 var 传递,反之亦然?

这是一个例子,但我不是很明白。

0 投票
2 回答
655 浏览

iphone - 实现委托方法,但仍然收到警告?

我收到一个特殊的警告,特别是这个:

...当我的应用程序中有这些方法时:

...即使将 UIWebView 的委托设置为self,我仍然收到此警告,并且永远不会调用这些方法(NSLog不提供任何结果。)

谁能查明这里发生了什么?提前致谢!

0 投票
0 回答
1119 浏览

iphone - 如何准确指定最后一次调用 UIWebView 的 webViewDidFinishLoad 时间?

我已经阅读了关于这个问题的上一篇文章UIWebView - How to identify the “last” webViewDidFinishLoad message? 但实际上我并没有得到太多答案。我需要的是在 webView 上执行一个脚本,但是在它完全完成加载之后。我试图通过将 HTML 中的帧读取到一个字符串然后对其进行计数然后将我读过的字符串加载到 UIWebView 来计算 HTML 中的帧,并计算调用 webViewDidFinishLoad 的时间,但这不起作用。那么有没有办法做到这一点,或者任何机构都可以告诉我 webViewDidFinishLoad 何时被准确调用,这样我就可以计算一些东西并使用它而不是框架。

先感谢您。

0 投票
4 回答
3239 浏览

iphone - iPhone - UIWebView:检测用户滚动到页面底部

所以,我有一个 UIView,里面有一个 UIWebView,用于提供本地 HTML 文件(文档预览)。我也有“接受”和“拒绝” UIButtons。我需要这些按钮仅在用户滚动到网页底部后出现。有没有办法捕获滚动到 UIWebView 底部的事件?

我没有看到任何好的答案,有人可以帮忙吗?

提前致谢。

0 投票
2 回答
3769 浏览

iphone - 如何完全在代码中创建和管理 UIWebView 对象?

我正在将 UIWebView 添加到我的 iOS 应用程序中,并且我希望它打开以响应单击按钮(因此此代码将被编写在按钮的事件处理程序之一中)。

如何在代码中动态创建此 UIWebView,将其定位为覆盖整个屏幕并响应事件(例如,对 UIWEbView 的 shouldStartLoadWithRequest 函数,以便 UIWebView 可以要求本机代码关闭 UIWebView)。

我特别想避免在 Interface-Builder 中创建东西,如果这可以减少到几行代码,以后可以很容易地复制粘贴到其他项目中,那就太好了。

0 投票
2 回答
2193 浏览

iphone - 检测并自定义 UIWebView 的“无法读取文档”错误

我正在测试具有多种不同文档类型的 UIWebview - .xlsx、.jpg 等 - 它可以很好地打开其中的大多数。有时,我打开一个本地文件,此消息会出现在 Web 视图中:

我不关心“为什么”会发生此错误 - 例如,当我向 UIWebView 提供垃圾文件时(故意),它会发生。问题是我无法弄清楚如何检测“何时”发生这种情况。它不会触发webView:didFailLoadWithError,也不会触发NSException(通过@try@catch),当我检查 webViewDidFinishLoad 中的文档时,webView.request.HTTPBody

任何人都知道如何检测 UIWebView 何时无法显示内容?

0 投票
3 回答
69018 浏览

iphone - 如何处理 UIWebView 中的应用程序 URL?

我最近发现我的 UIWebView 在 ITMS 链接上卡住了。具体来说,从我的应用程序中的 UIWebView 中,如果我导航到这样的站点单击“在 App Store 上可用”链接,UIWebView 会出错,并显示“Error Domain=WebKitErrorDomain Code=101 The URL can't be显示。”

经过一番谷歌搜索,我意识到我需要捕获应用程序链接的请求并让 iOS 处理它们。我开始查看该方案是否以 "itms" in 开头-webView:shouldStartLoadWithRequest:navigationType:,但意识到系统可能可以处理其他类型的应用程序链接。所以我想出了这个,而不是:

我对此有两个问题:

  1. 这是理智的吗?我专门检查错误域和错误代码,并从 userInfo 中获取 URL 字符串。那东西可能会留下来吗?
  2. 这确实适用于上面链接的应用商店链接,但是当我切换回我的应用时,似乎有一个随后失败的请求失败,并出现“帧加载中断”。我怎样才能摆脱它?当我让操作系统处理来自 的请求时,它不会发生-webView:shouldStartLoadWithRequest:navigationType:,所以有点烦人。

如何处理此类请求?

0 投票
4 回答
13566 浏览

uiwebview - 如何在 UIWebView 中禁用长触摸?

我想从应用程序中禁用长触摸。我无法控制在 WebView 上加载的 HTML。

0 投票
2 回答
25590 浏览

ios - 为 UIWebView 设置委托

如何设置委托供我UIWebView使用webViewDidFinishLoad

0 投票
3 回答
8939 浏览

iphone - UIWebView:加载某些 URL 时未调用 webViewDidStartLoad/webViewDidFinishLoad 委托方法

我有使用UIWebView. 我注意到对于某些页面,没有UIWebViewDelegate调用任何方法。

发生这种情况的示例页面是:http ://www.youtube.com/user/google 。以下是重现问题的步骤(确保NSLog在控制器的UIWebViewDelegate方法中插入调用):

  1. 将上面的 youtube URL 加载到UIWebView [注意,这里的UIWebViewDelegate方法在页面加载时会被调用]
  2. 触摸页面上的“上传”类别
  3. 触摸该类别中的任何视频 [问题:注意加载了一个新页面,但没有调用任何 UIWebView 代表]

我知道这不是UIWebView' 代理设置不正确的问题,因为在加载其他链接时会调用代理方法(例如,如果您尝试单击将您带到 youtube 之外的链接,您会注意到代理方法被调用)。

我最初的直觉是,这可能是因为页面是使用 AJAX 加载的,它可能不会调用委托方法。但是当我检查 iPhone 的 Safari 时,它并没有表现出这个问题,所以它一定是我这边的东西。

我还注意到 Three20 的TTWebController问题与我遇到的完全相同。

但是这个问题引起的问题是,如果没有调用委托方法,我无法更新 UI 以在加载新请求时启用/禁用后退和前进浏览按钮。

并知道为什么会发生这种情况,或者我该如何解决它以在发出新请求时更新 UI?