问题标签 [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 投票
1 回答
1987 浏览

iphone - 捕捉返回按钮导航事件

我有一个基于导航的应用程序。在表格视图中单击一行后,我会推送一个 UIWebView。UIWebView 中有网络链接。用户单击一个链接,该链接呈现外部网页。这一切都发生在我的应用程序中。顶部导航栏没有随着单击呈现的链接和外部网页而改变。但是,一旦用户单击左上角的导航按钮,他们就会返回到 tableview 而不是初始的 UIWebView。如果用户从外部链接单击,我如何连接到导航返回按钮并将用户返回到初始 UIWebView?

0 投票
4 回答
8037 浏览

iphone - 为什么 UIWebView 不断检测电话号码?

我有一个未选中检测电话号码的 UIWebView。但是,它不断强调本文中的数字:

文本不在锚点或任何东西中。有没有办法强制 UIWebView 不检测电话号码?

0 投票
2 回答
1482 浏览

iphone - 将 webview 请求抛出到另一个 webview

我有一个 UIViewController,里面有一个 UIWebView (webview1)。网页视图只有几行文本,但里面确实有一个链接。我不想在这个狭小的空间中打开指向外部网站的链接,而是将其发送到 webview2,这将是一个全屏。目标是将网络请求保留在我的应用程序中,而不是 Safari 中。我不想为 webview2 创建另一个控制器,而是使用 webview1 的控制器。

在 Webview1Controller 控制器中,我在 webViewLoad 中执行此操作:

这是我将 Web 请求交给 webview2 的地方,效果很好:

在 Interface Builder 中,我将 webview2.xib 文件的 Owner 类设置为 Webview1Controller。它的“视图”和 webview2outlet 已连接。我在 Webview1Controller 中有一个名为 webview2outlet 的 IBOutlet。

当我回到 webview1 时,它也加载了相同的请求。有没有办法阻止 webview1 加载任何东西?如果我在上述方法中返回 NO,webview1 将不会呈现我的内容。

一种解决方案是在 viewWillAppear 上重新加载 webview1 内容,这很有效。但是有更好的方法吗?

0 投票
10 回答
63258 浏览

iphone - iPhone UIWebview:如何强制使用数字键盘?是否可以?

我正在尝试使用 PhoneGap 开发一些 iPhone 应用程序。PhoneGap 基本上包装了一个 UIWebView - 它运行良好。问题是我的应用程序有几个只接受数字输入的输入字段。我真的需要强制使用数字键盘而不是接受默认的标准键盘,然后强制用户切换到每个字段上的数字。有谁知道这是否可能?如何?

澄清:我知道苹果目前没有提供任何 API 来允许这样做。我想知道创建从 UIWebView 继承的自定义类是否会有所帮助,或者创建自定义键盘是否会带来一些可能性?

2009 年 11 月 6 日更新 - 如下所述,Apple 最近更新了 safari 功能,以便再次支持此功能。因此,接受的答案已更改以反映这一点。

0 投票
2 回答
10757 浏览

iphone - 如何获取 UIWebView 上的当前滚动位置

我有一个 UIWebView 我怎样才能得到它的滚动位置?

我知道,那 UIWebView 有一个 UIScroller 子视图。但我无法得到这个 UIScroller 的偏移量(((

0 投票
6 回答
20150 浏览

iphone - 如何在 viewWillDisappear 中安全地关闭正在加载的 UIWebView?

我有一个包含 UIWebView 的视图,它正在加载谷歌地图(很多 javascript 等)。我遇到的问题是,如果用户在 web 视图完成加载之前点击导航栏上的“后退”按钮,我不清楚如何整齐地告诉 web 视图停止加载然后释放它,而不是发送到已释放实例的消息。我也不确定 web 视图是否喜欢它的容器视图在它完成之前消失(但如果用户在加载之前点击后退按钮,我别无选择)。

在我看来WillDisappear 处理程序我有这个

这似乎可以处理大多数情况,因为取消委托会阻止它将 didFailLoadWithError 发送到我的视图控制器。但是,如果我在视图的 dealloc 方法中释放 Web 视图,有时(间歇性地)我仍然会收到一条消息发送到已释放的实例,这似乎与实际页面中运行的 javascript 有关,例如:

如果我只是不发布 webview,那么我就不会收到这些消息,尽管我想我正在泄漏 webview。

如果我不发送“stopLoading”消息,而只是在 viewWillDisappear 中释放 webview,那么我会看到如下消息:

可能相关,我有时(再次完全断断续续)得到一个丑陋的 heisenbug,单击其他视图导航栏上的后退按钮会弹出标题,但不会弹出视图。换句话说,我在堆栈上留下了视图 n 的标题,但显示的视图仍然是视图 n+1 (结果是你被困在这个屏幕上,无法回到根视图 - 你可以去另一个方向,即推送更多视图并弹回没有正确弹出的视图,只是不到根视图。唯一的出路是退出应用程序)。在其他时候,相同视图上的相同推送和弹出序列可以正常工作。

这个特别的让我发疯。我认为这可能与加载 Web 视图之前视图消失有关,即在这种情况下,我怀疑它可能会在内存上乱涂乱画并混淆视图堆栈。或者,这可能是完全不相关的并且是其他地方的错误(我从来没有能够在调试构建模式下重现它,它只会在我无法使用 gdb 观看它时发生在发布构建设置中:-)。从我的调试运行来看,我认为我没有过度发布任何东西。而且我似乎只有在我点击了具有 web 视图的视图时才能触发它,并且在那之后它不会立即发生。

0 投票
2 回答
5085 浏览

jquery - jQuery 无法在 iPhone 上加载

我正在尝试使用 UIWebView 来显示内容,并使用 jQuery 来操作该内容,但我无法加载 jQuery。这是我设置 UIWebView、设置 baseURL 和加载内容(本地包中的 HTML 文件)的代码:

内容加载得很好,我已经通过将图像添加到包并在 HTML 中引用它来确认 baseURL 是正确的,并且它可以工作。在我的 Macbook jQuery 上的 Safari 中使用相同的 HTML 加载也很好,并且按预期工作。

我已经尝试过使用压缩的 jquery-1.3.2.min.js 和开发的 jquery-1.3.2.js,但都没有骰子。

有任何想法吗?

0 投票
5 回答
8140 浏览

iphone - iPhone 应用程序 - 一个视图如何调用另一个视图中的方法?

我正在制作一个简单的标签栏 iPhone 应用程序。它有两个选项卡,一个带有 UIWebView,另一个带有几个用于保存设置的文本字段,以及一个用于保存设置的按钮。

我想要做的是在用户单击设置选项卡/视图上的保存时重新加载 UIWebView。我已经保存了设置,我只需要弄清楚如何进行调用以使 UIWebView 自行刷新。

我对视图如何将消息发送到另一个视图感到困惑。

0 投票
1 回答
2247 浏览

iphone - 为什么 UIWebView 会缩小图片?

我正在使用 UIWebView 以 base64 ( http://www.abluestar.com/utilities/encode_base64/index.php ) 显示图像。UIWebView 设置为“缩放页面以适应”,模式为“左”。图像可能是 400px 宽,但一旦在 UiWebView 中渲染,它甚至不占屏幕的一半。我需要做一些类似 style="width:800px;..." 在它开始占据大部分屏幕并且可读之前(因为它不是那么小)。这是正确的方法吗?为什么 UIWebView 中的图像会缩小,然后我必须拉伸它?

0 投票
5 回答
41557 浏览

uiwebview - iPhone UIWebView 本地资源使用 Javascript 并处理 onorientationChange

我正在尝试从 iPhone 应用程序的本地资源中提供 HTML Javascript 和 CSS 内容,但在处理 onOrientationChange 事件和包括外部 Javascript 时遇到了问题。

我似乎能够正确链接 CSS,但不能正确链接 javascript。我正在尝试使用以下处理 onOrientationChange 的示例(如何构建 iPhone 网站),但我正在从我的应用程序的 NSBundle mainBundle 提供网页。

我尝试将 javascript 函数附加到 body.onorientationchange 和 window.onorientationchange 但在本地(或远程)从 UIWebView 提供时都不起作用,但如果我使用的是 iPhone Safari,它会起作用。