gpt4 book ai didi

ios - UIWebview 检测表单文本变化

转载 作者:行者123 更新时间:2023-12-01 22:46:54 24 4
gpt4 key购买 nike

我想知道是否有任何好的方法来本质上应用 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string到 webview 中的表单。

结果将对网络表单中的每个键入/删除的字母使用react。

现在我正在使用一个每 0.1 秒触发一次的计时器来检查,但这不是一个很好的解决方案,并且会导致一些不良行为,似乎锁定了调用任何其他 Javascript 评估的能力..

最佳答案

解决此问题的一种方法是将一些javascript代码“注入(inject)”到页面中,只要您感兴趣的事件发生,就会尝试导航。
您将在 UIWebView 上捕获并取消该导航,并将导航事件用作您的事件处理程序(可能在 url 本身中传递数据)。

这一系列事件将是这样的:

  • 事件(例如,字段中的值更改)在 JS 中触发。
  • 注入(inject)的代码导航到某个(伪造的)url。
  • 您的应用程序的 Obj-C 代码将(监听并)接收导航事件。您的代码将检查 url 并发现它是事件所期望的。您可以在 url 本身上传递其他事件数据。
  • 应用程序代码将取消导航,因此页面上没有任何实际变化
  • 您的应用程序将以您想要的任何方式对该事件使用react。

  • 您没有提到您是否可以控制网页的内容,所以我不会详细介绍如何注入(inject)该 javascript 代码。让我知道这是否是您想要描述的内容。

    我已经成功地增加/更改了许多 DOM 事件,但实际上并没有拥有我的 UIWebView 导航到的网页,本质上为用户在通过我的应用程序浏览这些页面时提供了与通过常规移动浏览器不同的体验。

    希望有帮助。
    附言使用PhoneGap 可能有更简单的方法。我很想知道这是否可以缩短时间。

    关于ios - UIWebview 检测表单文本变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23120241/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com