如何在 SFSafariViewController 中禁用 javaScript?

How to disable javaScript in SFSafariViewController?

我们可以使用首选项在 WKWebKit 中禁用 javaScript。

 let preferences = WKPreferences()
 preferences.javaScriptEnabled = false
 let configuration = WKWebViewConfiguration()
 configuration.preferences = preferences
 let WebViewKit =  WKWebView(configuration: configuration )

但是,有什么方法可以禁用 SFSafariViewController 中的 javascript 吗?

  let config = SFSafariViewController.Configuration()
  config.entersReaderIfAvailable = true
  let svc = SFSafariViewController(url: self,configuration: config)

我相信没有办法做到这一点。就像您提到的那样,WKWebViewjavaScriptEnabled.

SFSafariViewController 必须具有或获取来自 Safari 的用户配置。

使用Safari禁用它:

You can disable javascript in Mac OS X Safari by going to Safari->Preferences (Command-,). Click on the Security tab and then uncheck "Enable Javascript". Use the same process to turn javascript back on later.


与此同时,Apple 在他们的文档中说 https://developer.apple.com/documentation/safariservices/sfsafariviewcontroller

The user's activity and interaction with SFSafariViewController are not visible to your app, which cannot access AutoFill data, browsing history, or website data.

另外,基于SFSafariViewController.h,你做不了什么。

所以我想这是可以理解的,你不能做更多的事情。

希望对您有所帮助。