问题标签 [wkwebviewconfiguration]

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 回答
8149 浏览

javascript - WKUserScript 不工作

我想使用WKWebviewAPI 注入脚本。由于某种原因它不起作用,我无法弄清楚。我已经尝试在Safari开发人员控制台中进行调试,但我也无法JavaScript在其中找到代码。

实现代码如下:

0 投票
2 回答
5313 浏览

ios8 - 从 WKWebView 捕获 window.print()

我正在尝试使用我的应用程序从 WKWebView 捕获 window.print() javascript 调用,以实际显示打印对话框并允许它们从页面上显示的按钮(而不是我的应用程序内的按钮)进行打印。有谁知道实现这一目标的最佳方法?

目前,对我来说,单击调用 window.print() 的链接只会触发 decisionPolicyForNavigationAction 委托方法,但我在其中找不到任何相关内容。

0 投票
2 回答
27276 浏览

javascript - WKWebview evaluateJavascript 不工作,抛出错误

我正在尝试从 WKWebview 中的远程站点调用现有函数:

和:

但这会引发错误:

这太简单了!我一定错过了一些非常愚蠢的东西!

0 投票
0 回答
2378 浏览

webkit - 在 OS X 中使 WKWebView 不与 Safari 共享 cookie

如何让 WKWebView 在 OSX 中不与 Safari 共享 cookie?

我有一个非常简单的应用程序,我做了一个显示 WKWebView 的实验,据我所知,它从 Safari 获取 cookie,因为在我的自定义应用程序中,我登录到与 Safari 相同的网站。

我目前正在创建这样的 WKWebView 实例:

在我创建的 NSViewController 中。我也试过这个:

但这对 cookie 存储没有影响。只要不使用黑客,我创建自己的 cookie 存储就没有问题,因为以前的 WebView 黑客不起作用。我只需要不在我的应用程序和 Safari 之间共享 cookie。

0 投票
2 回答
3614 浏览

javascript - WKWebView:页面加载后调用javascript

我正在执行以下操作:

  • 加载一个 WKWebView,让我们调用这个视图 A
  • 要求用户输入一些详细信息
  • 要求用户点击一个按钮
  • 拦截对 WKWebView 的点击并在应用程序上推送一个新视图,让我们调用这个视图 B
  • 允许用户在新视图中计算结果,然后返回到之前加载的 WKWebView

现在:我想将计算出的信息添加到之前加载的网页(视图 A)中。我知道如何做到这一点的唯一方法是在 loadView() 方法上加载 javascript。但是,当您从视图 B导航回视图A时,不会调用此方法,因为视图 ​​A已加载。当视图 A 重新出现时强制重新加载也会丢失用户已编辑的字段中的值。

这是我必须调用脚本的“标准”代码:

因此,现在我需要您的帮助来了解如何使用自定义值(在视图 B中计算)而不是在 loadView 中而是在视图重新出现时调用方法“setValue(customparameter)”。

我可以将值存储在单例对象中,这样就可以了。但是我不知道在这个阶段如何调用/注入 javascript。有什么帮助吗?

0 投票
2 回答
5443 浏览

ios - JS 在 Swift 中调用函数

我知道如何将消息从 JS 发送到本机 IOS swift 应用程序:

和JS:

我的问题:是否可以直接调用本机应用程序中的函数,而不是在我的示例代码中接收消息。

说我想在 JS 中使用类似的东西:

我问的原因是在 Android 中它是这样工作的

0 投票
0 回答
924 浏览

ios - 关闭包含 viewController 时停止 wkWebView 声音

在我的视图控制器中,我有一个 WKWebView 播放有声视频

当我使用以下方法关闭视图控制器时:

视频声音仍在播放。

我怎样才能阻止它?

0 投票
14 回答
40792 浏览

ios - 如何删除 WKWebview cookie

现在我正在这样做

但它不适用于 iOS 8、64 位设备。

WKWebview的干净cookie还有其他方式吗?任何帮助将不胜感激。谢谢。

0 投票
1 回答
1587 浏览

javascript - WKWebview 的 javascript 调用返回 nil

我正在尝试从使用 UIWebview 迁移到 WKWebview,我需要调用 webview 中的各种 Javascript 函数。

在 UIWebview 中,我可以毫无问题地执行此操作,但是 WKWebview 会为任何和所有调用抛出 WKErrorDomain Error 4。我认为这可能是一种竞争条件,我正在调用 DOM 中尚不存在的函数,但我添加了一个调试语句,以便在页面加载后进行相同的调用并且它们不工作。我什至做了一个'document.body.innerHTML',当webview中清楚地显示内容时返回nil。

不同之处在于,当通过 Safari Web Inspector 检查 Web 代码时,一切正常,所有调用都正常。

为什么以及怎么会这样?我确实使用 WKWebViewConfiguration 初始化了 WKWebView,以便它可以在不同的 webview 之间共享 cookie,所以那里可能有一些东西,但我很难过。

这就是我初始化 WKWebView 的方式

这是一个调试语句,我将文档的 innerHTML 记录到控制台日志中,它打印 (nil) 而不是 HTML。

0 投票
2 回答
850 浏览

wkwebview - 使用 Xcode 7 beta3 在 WKWebView 中加载 url 的问题

我正在对 WKWebView 进行快速测试以评估其优缺点。但我发现我能够使用 Xcode 6.4 和 iOS 8 加载 url,但在 Xcode 7 beta 3 中加载相同的 URL 时遇到问题。

这就是我正在做的事情:

我做错了什么还是只是 Xcode 和 iOS 9 的测试版?谢谢,