WKWebView 上的链接点击侦听器?

2024-05-27

WKWebView 类中是否存在类似 onLinkClickListener 的东西?我尝试用谷歌搜索但一无所获,我还在类似类型的 stackoverflow 上发现了一些未解答的问题。

我需要 linkClickListener 的原因是,当我单击链接并且页面尚未加载时,它不会加载网站。当页面使用侦听器加载时,我还可以创建一个精美的加载屏幕。


你可以这样做

将 WKNavigationDelegate 添加到您的类中

class ViewController: UIViewController, WKNavigationDelegate

设置导航委托

yourWKWebview.navigationDelegate = self

之后您将能够使用decidePolicyFor navigationAction函数

 func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
        if navigationAction.navigationType == WKNavigationType.linkActivated {
            print("link")

            decisionHandler(WKNavigationActionPolicy.cancel)
            return
        }
        print("no link")
        decisionHandler(WKNavigationActionPolicy.allow)
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WKWebView 上的链接点击侦听器? 的相关文章

随机推荐

  • JVM锯齿状空闲进程

    我目前正在进行一项涉及 JVM 及其内存使用工作原理的研究 我不明白的是 JVM在空闲时用什么填充它的内存 只是为了在堆几乎达到时释放它 为什么使用的内存不只有一条平线 顺便说一句 这个 java 应用程序托管在 glassfish 上 但
  • 如何添加私有 Spec Repo 以使用私有 Pod?

    我完成了这个教程http guides cocoapods org making private cocoapods html http guides cocoapods org making private cocoapods html但
  • 内部错误跟踪票 - Redmine、Trac 或 JIRA

    我一直在考虑设置Redmine http demo redmine org Trac http trac edgewall org demo 0 12 or JIRA http sandbox onjira com secure Dashb
  • MacOSX 下 libpng 的链接器错误

    我正在使用 MacOSX 10 7 2 和 Xcode 4 2 1 我安装了libpng使用端口 我试图在我的应用程序中加载 PNG 图像 但出现链接器错误 Undefined symbols for architecture x86 64
  • 通过 subprocess.communicate 在 python 脚本之间传输 pickled 对象输出

    我有两个 python 脚本 object generator py 它会腌制给定的对象并打印它 另一个脚本 object consumer py 通过 subprocess communicate 选择第一个脚本的输出 并尝试使用 pic
  • Jquery 脚本可以在 JSfiddle 中运行,但不能在 html 页面上运行

    我创建了一个JSFiddle http jsfiddle net defjam64 w4sGZ 4 其按预期工作 Jquery script function icon hover gcp icon hover function gcp i
  • CodeIgniter 2.1.0 的会话库中是否存在任何已知错误?为什么我会被踢出去? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在开发
  • Emacs:导航目录和打开文件的好策略是什么?

    上周 由于必须应对 R 和 Perl 的不同 IDE 我再次感到愤怒 我不喜欢这两种 IDE 也没有使用它们来真正适应 所以我决定尝试 Emacs 我做出这个决定并非没有一定的恐惧 我的主要用途是使用 cperl 来使用 Perl 以及使用
  • R中按字母顺序对每一行字符串进行排序

    我环顾四周 似乎找不到解决这个问题的好方法 我有一个包含行名称的列 我想按字母顺序对每一行进行排序 以便稍后可以识别具有相同名称但顺序不同的行 数据如下 names lt c John D Josh C Karl H John D Bob
  • ASP.NET MVC 2 发行版本的实际调试符号

    我需要 ASP NET MVC 2 发布版本 通过 Web 平台安装程序安装的版本 中的实际调试符号 我知道我可以下载源代码 构建并使用其中的调试符号 但这种方法有几个问题 要求使用此版本的 DLL 重建所有其他依赖项 因为它未签名 如果您
  • 带有量角器端到端测试的 Electron 应用程序

    我目前正在研究一个Electron http electron atom io 应用程序 我现在想将端到端测试与量角器 https angular github io protractor 我已经查看了 Protractor 的教程 现在正
  • 标签栏不显示图标?

    我读了一堆相关的问题 我尝试了他们所说的 但没有任何效果 不知道为什么 所以 我有3个不同的UIStoryboards 第一个是处理登录 注册的 Auth Storyboard 并且有一个对第二个 Storyboard 选项卡栏 Story
  • 如何使用 IHttpActionResult 设置标头

    我想将令牌添加到 webapi 请求的标头中 我怎样才能做到这一点 这是我的示例代码 public IHttpActionResult Authenticate Login data var Token fdsf123546fskjhf g
  • 用于读取文件的 Bash 脚本

    不知道为什么最后一行没有从脚本中删除 bin bash FILENAME 1 while read line do cut d f2 echo line done lt FILENAME cat file 1 test 2 test 3 t
  • 如何使用 Swift 将高分游戏保存在排行榜上?

    我使用 SpriteKit 和 Xcode 7 beta 制作了一个游戏 我尝试放置 GameCenter 和 Leaderboard 但问题是排行榜中的分数不会改变 它始终保持 0 游戏的高分不会保存在 Leaderboard 中 我不知
  • CLR 分析器:使用 DefineAssemblyRef 时出现问题

    我想编写一个 CLR 分析器来挂钩我们的应用程序函数GetILFunctionBody SetILFunctionBody 我想使用 DefineAssemblyRef 导入我们的 c dll 用于 IL 代码 在此代码中 DefineAs
  • C++ 或 C 中的 foo(void) 和 foo() 有区别吗?

    考虑这两个函数定义 void foo void foo void 这两者有什么区别吗 如果不是 为什么是void争论有吗 审美原因 In C void foo 意思是 一个函数foo接受未指定数量的未指定类型的参数 void foo voi
  • 在 UIPageViewController 中跟踪页面索引的可靠方法 - Swift

    我在位于常规 UIViewController 中的容器内有一个 UIPageViewController 自定义 我需要能够在每次页面更改时调用一个事件 但前提是它确实发生了变化 而不仅仅是一半或类似的事情 using func page
  • 你们中有多少人进行三层设计?

    多年来 三层设计一直是我数据库驱动应用程序的标准设计理念 它从未让我失望过 对于那些练习它的人 描述一下你的层次 我发现很多人混淆了业务层和数据访问层 使其更像是 2 5 层设计 我更喜欢使用存储过程将数据层几乎完全移动到数据库中 并且在代
  • WKWebView 上的链接点击侦听器?

    WKWebView 类中是否存在类似 onLinkClickListener 的东西 我尝试用谷歌搜索但一无所获 我还在类似类型的 stackoverflow 上发现了一些未解答的问题 我需要 linkClickListener 的原因是