问题标签 [wkwebview]

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 投票
3 回答
1916 浏览

ios - WKWebView 在将 html 和 javascript 与应用程序捆绑时给出 SecurityError

我们正在尝试将混合应用程序从 UIWebView (iOS < 8) 迁移到 WKWebView (iOS 8),但在尝试使用DOM WebDatabase API(即“web sql 数据库”)存储内容时出现 SecurityErrors。

如果 index.html 已从应用程序的捆绑文件中加载,则以下内容会引发错误

相同的代码适用于 UIWebView。出于某种原因,我可以回退到使用本地存储,但是使用 WebSQL 数据库是不行的。我只能推测这与同源政策或相关的东西有关。

有趣的是从网络加载 index.html 工作正常:-/

关于我如何解决这个问题的任何线索?在修复它的 WKWebView 上设置的任何选项?

这是我们加载网络相关内容的方式:

html 文件只是加载一个具有相对路径“myCode.js”的 javascript 文件。

0 投票
15 回答
114866 浏览

ios - 为什么 WKWebView 不打开带有 target="_blank" 的链接?

WKWebView不会打开任何target="_blank"在其 HTML 标签中具有“在新窗口中打开”属性的链接<a href>

0 投票
5 回答
32291 浏览

ios - 在 WKWebView 中使用自定义字体

我在我的应用程序中使用自定义字体。它们被复制到 bundle 并硬编码到 appName-info.plist。这种字体在整个应用程序和 UIWebView 中都能完美运行。

我正在加载 htmlString [webView loadHTMLString:htmlString baseURL:nil]; 我在 webView 中使用这个字体和 css: fontFamily: fontName

但是当我尝试使用 WkWebView 自定义字体时不起作用。WkWebView 显示随机的默认字体。

我尝试使用基本 url 中的主包路径加载它,并在 css 中使用 font-face - WkWebView 仍然显示随机字体。

如何使自定义字体在 WKWebView 中工作?

0 投票
2 回答
16150 浏览

uiwebview - 如何从 WKWebView 获取 JSContext

在 UIWebView 中,我可以JSContext通过:

同样的方法在 WKWebView 中不起作用,当它到达这行代码时应用程序崩溃。

有没有办法在 WKWebView 中获取 JSContext?

提前致谢。

0 投票
1 回答
20822 浏览

ios - 多个 WKWebView 之间的 Cookie 共享

我在我的应用程序中创建了一些 WkWebViews,但是当为一个 webview 设置 cookie 时,它​​们不会在其他 webview 中生效(即其他 webviews 不会将相同的 cookie 传递回服务器)。我怎样才能让他们都使用相同的 cookie 存储?

0 投票
2 回答
4240 浏览

uiwebview - loadData:MIMEType:textEncodingName:baseURL: 在 WKWebView

我想使用WKWebView而不是 UIWebView 在 iOS 上显示数据。但是,似乎loadData:MIMEType:textEncodingName:baseURL:在 WKWebView 中被删除了。

有没有办法在 WKWEbView 中模仿这个功能?

谢谢!

0 投票
1 回答
5725 浏览

ios - WKWebView 间歇性黑屏问题

我正在将 WKWebView 集成到我们的应用程序中。并看到各种问题。最烦人和阻塞的一个是间歇性黑屏。它可以触发我的很多事情,导航、缩放等。

当我检查 WKWebView 中的视图层次结构时,我可以看到很多子视图丢失了。当我连接检查器时,HTML 已正确加载。有时,我可以在控制台日志中看到一条消息:

我们已经向 Apple 提交了几个雷达。有没有人有类似的问题并找到了一个走动?

0 投票
3 回答
34402 浏览

javascript - 如何在 WKWebView 中调试 javascript 代码

我在 WKWebView 中运行 web 应用程序时遇到了一些问题(特别是:某些按钮没有响应)。我使用本教程作为指南,并成功地让 webview 显示我的 webapp。所以现在我想调试javascript代码。

我知道 webapp 可以工作,因为我已经在 android webview 以及无数浏览器(包括我正在使用的 iPad 模拟器上的 safari)中尝试过它。经过一些快速的谷歌搜索,我发现了如何使用 Safari 在 UIWebView 中调试 javascript。可悲的是,这似乎不适用于新的 WKWebView。

当我导航到时,Develop->iPad Simulator我被告知“没有可检查的应用程序”。我已经用一个带有 UIWebView 的简单应用程序尝试了同样的事情,并且通过 safari 进行调试可以在那里完美地工作。

有没有办法在 WKWebView 中调试 javascript 代码?

要重现我的问题(使用 swift),请在 xCode 6 中启动一个新的单屏项目,复制文件中下面提供的代码(由kinderas 提供)并将ViewController.swift出口拖到文件中文档大纲的View下方。如有混淆,请参阅我上面链接的教程。View ControllerMain.storyboard

0 投票
1 回答
5258 浏览

ios - 包含 iOS8 的 WebKit 框架验证失败

我正在使用 WebKit 框架的 WKWebView 并尝试提交到应用商店时,我收到此错误:

如果我将部署目标设置为 8.0,那么错误就会消失,但我也想支持 iOS 7。该错误似乎是 iOS7 也具有 WebKit 框架的结果,但当时它是私有的。

因此,我想动态链接到 WebKit 库。我怎样才能在 XCode 中做到这一点?

0 投票
2 回答
4331 浏览

ios - IOS:WKWebView中的文本选择(WKSelectionGranularityCharacter)

我有一个应用程序,它使用可以选择文本的网络视图。长期以来,您无法在 UIWebView 中跨块边界选择文本一直是一个烦恼。WKWebView 似乎通过其配置上的属性解决了这个问题:selectionGranularity。可能的值之一是WKSelectionGranularityCharacter

选择端点可以放置在任何字符边界。

听起来很棒!正是我需要的。除了当我在我的网络视图中设置它时,我通常根本无法再选择文本。到底是怎么回事?还有什么我需要设置的吗?有没有人弄清楚这一点?

更新:我发现了以下错误:

  1. 当一个应用中有多个 WKWebViewselectionGranularity设置为 时WKSelectionGranularityCharacter,只有最近要加载的 WKWebView 才能选择文本。我已将此归档为错误 18441138。

  2. body如果在设置为 WKSelectionGranularityCharacter的 WKWebView 的 HTML 内容中的元素上附加了一个单击处理程序selectionGranularity,则文本选择在该元素内不起作用。我已将此归档为错误 18440833。

  3. 在应用程序中的其他位置进入 UITextView 的编辑模式后,WKWebView 中的文本选择失败,直到 WKWebView 重新加载。我已将此归档为错误 18468405。

有没有人解决过这些问题?