问题标签 [wknavigationdelegate]

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 投票
0 回答
416 浏览

xamarin.forms - Xamarin.iOS WKWebView 和 WKNavigationDelegate 自定义渲染器 Intranet SharePoint 链接不起作用

我正在开发一个 Xamarin 表单应用程序,并且我创建了自定义渲染器以使用本机 Web 视图。

我们在 Web 视图内容中有一些 Intranet SharePoint URL 链接,这些链接在 iPhone 真实设备中不起作用。公共 URL 链接工作正常,但 Intranet SharePoint URL 链接在单击链接后无法正常工作,Web 视图内容会自动隐藏,并且该链接也未在 Safari 浏览器中打开。

奇怪的是它在模拟器中运行良好。公共 URL 链接也可以正常工作。

以下是我们的 Intranet SharePoint URL,它不能在真实设备中运行,也不能在模拟器中运行。

https://test.demosharepointsite.com/informatik/_layouts/15/WopiFrame.aspx?sourcedoc=%7b25F01E60-0EEC-4A6B-BD26-81B2ED1911CA%7d&file=AA_TenantMigration_2in1_Device_O365.pdf&action=default

预期行为:

单击链接时,应在 Safari 浏览器中打开 URL 链接。

以下是 iOS 原生自定义渲染器的代码片段。

有谁可以帮我离开这里吗?谢谢。

0 投票
1 回答
359 浏览

swift - 单元测试 WKNavigationDelegate 函数 swift

我有一个UIViewController实现一些WKNavigationDelegate功能的,我想对这些功能中的逻辑进行单元测试。这是一个例子:

decisionHandler我希望我的单元测试确保WKNavigationActionPolicy基于request.url.WKNavigationAction

但是,我不知道如何测试此功能。当我运行我的测试项目时,调用.load()webview 不会触发委托函数。我也尝试过直接调用这个函数来测试它,但似乎无法实例化WKNavigationAction我自己的新函数(.request 是只读的)。

在函数中单元测试逻辑的正确方法是什么WKNavigationDelegate

0 投票
2 回答
1278 浏览

swift - 如何将 WKScriptMessage.body 转换为结构?

我设置了WKScriptMessageHandler函数userContentController(WKUserContentController, didReceive: WKScriptMessage)来处理发送到本机应用程序的 JavaScript 消息。我提前知道消息正文将始终返回相同的字段。如何将WKScriptMessage.body声明为Any结构的 , 转换?

0 投票
1 回答
172 浏览

ios - iOS WKWebView 的 didCommitNavigation 从未调用过?

在我的测试代码中,我使用 WKWebView打开http://www.qq.com/ 。我发现,将有 3 个委托方法被调用:

而且这两个方法永远不会被调用

我想知道是什么使该方法被调用或不被调用?

0 投票
0 回答
19 浏览

ios - WKNavigationDelegate 仅在代码中设置断点时调用

我遇到了 WKWebview 和导航委托的问题。如果我在没有断点的情况下执行应用程序,则永远不会调用委托。如果我在创建 webview 之后在某处设置断点,并调用 loadHtmlString 方法,则正确调用委托。

以下是我正在做的简化版本:

我知道如果没有显示视图,则不会调用 WKWebView 的导航委托(我过去遇到过这个问题)。但在这种情况下,webview 被添加到一个正在显示和可见的 viewcontainer 中。

我想在设置断点时,操作系统有更多时间来做它的事情,并且不知何故会有所不同,但我不知道如何解决这个问题。

有任何想法吗?

先感谢您。

0 投票
0 回答
34 浏览

swiftui - iOS 上的 SwiftUI - WKWebView 委托出现问题

我正在构建一个具有两个独立 Web 视图的应用程序。当您在滚动视图中单击文章列表时,相应的网页会加载到第一个视图中。我正在尝试获取它,以便当我单击该视图中的链接时,它会将该链接加载到第二个中。

这就是我用来创建 Web 视图的方法:

现在,第一个 Web 视图由存储在可观察对象中的变量驱动。当用户单击链接时,该变量被设置,并且 Web 视图加载得很好。为了解决“加载到第二个视图”问题,我认为可以使用委托来拦截链接操作。我正在使用这个代表:

但是,当我将该委托绑定到我的 WebView 时,事情就中断了:

现在,当我单击滚动列表中的链接时,不再加载 webview。(是的,我知道这个委托实际上不会解决我的导航问题,但在解决这个问题之前我什至看不到这个问题。)

0 投票
1 回答
236 浏览

ios - 未调用 WKNavigationDelegate 方法

我目前正在使用 WKWebView 编写一个 Web 视图应用程序,当加载页面时没有互联网连接时,它应该显示一个自定义错误页面。我试图通过调用 WKNavigationDelegate 的方法来处理这个问题,但它从未被调用过。我是 Swift 新手,我已经尝试了一些在 stackoverflow 上找到的解决方案,但没有一个对我有用。难道我做错了什么?

0 投票
1 回答
112 浏览

swift - 传递给 -[webView:decidePolicyForNavigationAction:decisionHandler:] 的完成处理程序被多次调用

当我按下任何链接时出现此错误。

传递给 -[webView:decidePolicyForNavigationAction:decisionHandler:] 的完成处理程序被多次调用

该链接在 safari 中打开,但应用程序崩溃。

有什么建议么 ?

0 投票
1 回答
118 浏览

swift - 未调用 WKWebView 导航委托

我很难让 WKWebview 调用它的委托方法,即完成一个。

我正在尝试类似于这篇文章的东西,使用加载到 WKWebView 中的 html 生成 pdf 报告;

WKWebView 不调用导航委托方法

但是在那里尝试建议,这对我不起作用。我在一个单独的类中创建了一个 WKWebView,该类将调用它的方法。

如果我把东西去掉,只是尝试在 WebView 中简单地加载一个网站,看看是否调用了委托函数,我什么也得不到。

这是我的测试课;

这就是我在单独的视图控制器中调用它的方式;

尽管如果我使用 Storyboards 将 WKWebView 作为出口放入视图控制器,那么委托方法确实会被调用。但是,我试图避免这种情况,因为我不想在视图控制器中看到 Web 视图,并且希望将所有代码单独保存在另一个类中。

我错过了什么吗?检查 Stack Overflow 上有关此的各种其他帖子并没有给我任何解决方案,除了确保正在设置导航委托,我就是这样。任何帮助将不胜感激。

0 投票
0 回答
49 浏览

swift - 如何在 iOS 13 及更高版本的 WKWebView 中拦截(查看)用 React 编写的站点的所有请求?

我无法拦截所有请求,我尝试使用 WKNavigationDelegate、schemeHandler 和一些存储库,但没有任何效果。有没有办法得到它们?