问题标签 [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 回答
1561 浏览

objective-c - WKWebKit Mac OS NSPrintOperation

WebKit 1 暴露了 WebFrameView,我可以在其中调用打印操作。

使用 WKWebKit API,我似乎无法弄清楚如何执行类似的操作或抓取哪个视图进行打印。我所有的努力都得到了空白页。

0 投票
1 回答
2860 浏览

ios - 设置 AVAudioSession 类别对来自 WKWebView 的声音没有影响

从 WKWebView 播放音频时,我似乎无法覆盖 AVAudioSession 类别或端口。使用普通 UIWebView 时,相同的代码可以完美运行。

我也尝试过sharedInstance像这样激活,但它没有帮助:

上面的代码对来自 WKWebView 的音频没有影响。我确实在 Twitter 上发现了一些关于 iOS 8.1 正在将 WKWebView 音频与后台应用程序音频混合的报告,但我找不到它的来源。请参阅此推特线程以供参考:https ://twitter.com/marcoarment/status/530881842900373504

0 投票
0 回答
118 浏览

ios - 如何使用 Objective-c 检查网站是否安全?

所以,我正在制作一个网络浏览器。

我想为我的用户提供查看网站是否安全的能力。

我应该考虑哪些参数才能使网站安全?

如何使用objective-c检查网站是否有SSL证书?

0 投票
1 回答
616 浏览

javascript - 如何在 3rd 方网络浏览器中托管 iOS8 Action 扩展

假设我已经实现了一个 iOS 网络浏览器,能够在 webview 中与 Javascript 进行双向通信。如果我想要任何iOS8 Action 扩展在其中工作,就像在 Mobile Safari 中那样,我必须做什么?告诉webview对授权ExtensionPreprocessingJS对象执行函数并获取回调结果是没有问题的。但我怎么能抓住它NSExtensionJavaScriptPreprocessingFile呢?我还没有找到任何允许我枚举符合条件的应用程序扩展的 iOS8 API。获取他们Info.plist的 s 并实际从应用程序扩展的捆绑内容中获取文件的次数越少。

通过我的测试 Action 扩展,我知道extensionContext.inputItems曾经给予扩展的全部内容只是Apple Action 扩展文档所说的:一个NSItemProviderunder NSExtensionItemAttachmentsKey,提供一个单一kUTTypePropertyList的 JS 执行已经返回的内容。换句话说,JS 必须在beginRequestWithExtensionContext被调用之前就被知道并被执行。

我是否错过了什么,或者 3rd 方应用程序真的不可能像 Mobile Safari 一样做同样的事情?从应用程序访问安全的角度来看,这是有道理的,但是……这里的关键词是“模块化”和“可扩展性”,对吧?Mobile Safari 是不是比普通的 UI/WKWebView 动物更平等?我的意思是,WKWebView确实有一些简洁的新 JS 功能(evaluate完成处理程序WKUserContentController),但我如何将它与通用 Action 扩展连接起来?

0 投票
2 回答
11783 浏览

ios - 带有本地文件的 WKWebView

我正在使用本地文件测试 WKWebView,该文件在模拟器中工作,但在设备中不工作

我授予以下网址:

没关系,因为我用 UIWebview 测试了相同的代码并且可以工作!

我总是遇到同样的错误:

这行不通,我想它会像在 swift 中一样在 Objective-C 中工作

iOS Webkit 无法在设备上运行,但可以在模拟器上快速运行

任何想法将不胜感激,谢谢


2014 年 2 月 12 日更新

我发现这可能是 iOS 8.1 中的一个错误,它可能会在 8.2 中修复

https://devforums.apple.com/thread/247777?start=25&tstart=0

我已经测试将文件移动到临时文件夹,但没有收到任何错误,但 webView 只是空的。

我已经用 UIWebView 测试了相同的代码(临时文件夹)并且工作正常!

另外,我试过这个:

https://stackoverflow.com/a/26054170/426180

正如我所发现的,这是因为 css 和 javascript 嵌入在 html 中。

0 投票
2 回答
3502 浏览

ios - WKWebView 媒体播放器全屏检测

在 iOS 8 之前,UIMoviePlayerControllerDidEnterFullscreenNotification只要媒体播放器从 UIWebView 进入全屏模式,就会发送通知。在 iOS 8 中,这不会发生,有些人建议改为收听AVPlayerItemBecameCurrentNotification通知​​。这似乎不是从 WKWebView 发送的。侦听UIWindowDidBecomeVisibleNotification通知不起作用,因为它会针对所有添加的窗口(包括广告网络等)触发

最重要的是,我整夜都在研究这个问题,我似乎无法弄清楚如何确定视频是否使用 WKWebView 全屏打开。任何帮助,将不胜感激。

编辑:为了确认,我创建了一个空白项目。添加了一个 UIWebView 和它的AVPlayerItemBecameCurrentNotification监听器,当我播放视频并进入全屏时它被触发。我将该 UIWebView 切换为 WKWebView 并且不再触发该通知。

0 投票
6 回答
3385 浏览

javascript - 屏幕旋转时 WKWebView CSS 渲染问题

0 投票
2 回答
1842 浏览

ios - How to Create Two WkWebView

I am trying to create an iPhone app with two WKWebView, one for a header and one for a container. How can I create them?

I can't find any utility in Xcode/Interface Builder to create WKWebview instances. I can create a WebView which is of type UIWebView, but I can't call WkWebView methods on it and I can't conversion it to a WKWebview.

0 投票
3 回答
5981 浏览

ios - WKWebView 嵌入视频发布后一直播放声音

我正在实现一个使用 webview 播放视频文件的服务。我从 UIWebView 迁移到 WKWebView,并尝试用它播放 Youtube 和 Coub 视频。几乎一切正常,在 iOS 8 中没有崩溃,但是在 WKWebView 发布并从屏幕上移除后,视频声音会继续播放一段时间(在某些情况下大约 45 秒)。

我找不到停止视频声音的方法。我试图用媒体播放器捕捉系统通知,但没有成功。

有什么方法可以停止 WKWebView 中的声音或视频吗?

接下来是 WKWebview 配置:

0 投票
1 回答
1631 浏览

ios - 在请求之间清除 WkWebview

我有一个本机段控件,可以在WKWebView中加载预定的 URL 。我想要实现的是加载之间的WKWebView清除(空白)。

所以就在我发出真正的请求之前,我尝试加载:

我什至尝试加载一些空的 HTML 无济于事:

这确实适用于UIWebView。关于这个有什么提示吗?