问题标签 [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 投票
12 回答
27596 浏览

ios - WKWebView 的透明背景

在我的应用程序中,我希望使 WKWebView 具有透明背景,因此后面的视图(ImageView)可以作为背景图片显示。

上面的代码在 UIWebView 上运行良好,但如果 webView 是 WKWebView,则会显示白色背景。

还尝试在 CSS 中放置透明背景颜色。结果是一样的,只适用于 UIWebView 而不是 WKWebView。有什么建议吗?

0 投票
2 回答
15365 浏览

objective-c - WKWebView 在不重新加载页面的情况下评估 Javascript

目前,我只能通过将其添加到 webview 的配置的 userContentController 并重新加载页面来弄清楚如何评估 javascript:

如何在我的 WKWebView 上执行类似于旧 WebView 的 javascript,stringByEvaluatingJavaScriptFromString:这样我就不必重新加载页面?

我正在尝试获得与

0 投票
14 回答
84312 浏览

ios - iOS 8 下 WKWebView 不加载本地文件

对于以前的 iOS 8 测试版,加载一个本地 Web 应用程序(在 Bundle 中),它适用于UIWebViewWKWebView,我什至使用新的WKWebViewAPI 移植了一个 Web 游戏。

但是在 beta 4 中,我只有一个空白的白屏(UIWebView仍然可以工作),看起来没有加载或执行任何内容。我在日志中看到一个错误:

无法为/

有什么帮助可以引导我走向正确的方向吗?谢谢!

0 投票
1 回答
2014 浏览

javascript - WKWebView - 改变视口?

我目前正在运行以下代码来设置我的 WKWebView 的视口:

我可以看到,如果代码找到了 selector viewport,它会正确设置它,但是如果它不存在,我想添加将这一行添加到 DOM 的功能。我是 Javascript 的菜鸟,所以我不确定如何更改此代码以处理该选择器不存在并添加它的情况。谁能帮我吗?谢谢!

0 投票
1 回答
133 浏览

javascript - 如何检查网页是否已到达顶部?

我已经构建了一个范式,只是为了向您展示我面临什么样的问题。

想象一下,您想让一个按钮在每次网页滚动到顶部时出现(不是向上滚动,而是当网页到达顶部时),并且您希望该按钮在用户向下滚动时消失。

任何理性的人都会认为通过检查 scrollView.contentOffset.y 可以获得网页的滚动状态。如果它是 0,那么它在顶部。

但是,有些页面此方法不起作用。例如: http: //www.apple.com/iphone-5s/

无论您向下滚动多少,contentOffset 都会保持 (0, 0)。我不关心不可滚动的页面。我只关心可滚动的页面,但 contentOffset 仍然是 (0, 0) ,就像上面的页面一样。

我该如何解决这个问题?也许使用javascript?我没主意了。

0 投票
1 回答
795 浏览

ios - HTML 不尊重 UIWebView 中的 .CSS 文件

我正在尝试在 WKWebView 中加载链接到外部 javascript 和 css 文件的 html 页面。我的 web 视图向我显示了 html 页面,但它看起来不像它尊重的 css 文件值。谁能建议我在这里做错了什么。按照我的代码在 WKWebView 中添加 html 页面:

此外,这里是重新添加 .css、.js 和 .html 文件的项目结构。

在此处输入图像描述

任何帮助,将不胜感激。

0 投票
4 回答
16537 浏览

objective-c - 如何在基于 WKWebView 的桌面应用程序中显示检查器?

我正在寻找一种方法来在我的 Mac 应用程序中显示 WKWebView的检查器。

使用 WebKit1 和 WebView,只需在 UserDefaults 中将 WebKitDeveloperExtras 设置为 true,就可以轻松地在 Mac 应用程序中显示检查器。这将在每个 Web 视图中为您提供“检查元素”菜单。

但是在带有 WKWebView 的 WebKit2 中,这不再起作用了。在 WWDC14 检查器会话中,他们解释说您必须添加一项权利,然后才能从 Safari 开发人员菜单中显示检查器。这仅在您是开发人员时才有效。

我查看了私有标题,发现 _allowsRemoteInspection 这让我认为您可以以某种方式启动检查器并连接到它,但我不确定从那里去哪里。

虽然我希望有一种官方的方式来做到这一点,但我的应用程序不在 AppStore 中,所以我可以使用私人的东西。

0 投票
2 回答
64351 浏览

ios - WKWebView 内容加载函数永远不会被调用

我尝试在 WKWebView 中的内容完全加载后调用一个函数。我在 Apple Swift WKNavigation 文档中找到了“didFinishNavigation”功能。

但是该函数永远不会被调用。

0 投票
21 回答
51378 浏览

ios - 在 WKWebView 中禁用放大手势

我正在寻找一种方法来禁用 WKWebView 的 iOS 实现上的“捏缩放”放大手势。OS X 有一个可用的放大 BOOL 属性,但它似乎在 iOS 上不可用。

WKWebView.h

我也试过查看 WKWebView 的手势识别器,但这似乎是一个空数组。我假设实际的识别器在组件的结构中埋藏得更深(从外观上看相当复杂),并且如果可能的话,宁愿不去挖掘它们。

我知道可能会禁用手势触发的可能黑客(选择性地将手势传递给 WebView,添加子视图以捕获捏手势等),但我总是发现那些会在事件中引入延迟并希望将实现保持为尽可能干净/无黑客攻击。

0 投票
9 回答
112265 浏览

uiwebview - 如何迁移到 WKWebView?

我正在尝试了解如何在 iOS8 中使用新的 WKWebView,但找不到太多信息。我读了:

http://developer.telerik.com/featured/why-ios-8s-wkwebview-is-a-big-deal-for-hybrid-development/ http://nshipster.com/wkwebkit/

但这对现有应用程序有何影响?普通的 UiWebView 会从 nitro java 脚本引擎中获得加速,还是我们需要进行更改?我们如何处理向后兼容性?

我能找到的所有代码和示例都使用 swift,这是强制性的吗?

感谢您对此事的任何帮助!