12期_WK_WKPreferences
2023-11-11 本文已影响0人
萧修
WKPreferences
,iOS8推出,用于WKWebView
,其定义了网页的偏好设置,具备以下功能
- 最小字体
- 是否允许检测欺诈网站
- web打印时是否打印背景
- 是否禁用文本交互
- 是否启用全屏API
- 指定web视图处于非活动状态时的调度策略
- 是否支持js
@available(iOS 8.0, *)
open class WKPreferences : NSObject, NSSecureCoding {
/**
最小字体大小 当将javaScriptEnabled属性设置为NO时,可以看到明显的效果.默认为0
*/
open var minimumFontSize: CGFloat
/**
是否不经过用户交互自动打开窗口iOS,默认NO
*/
open var javaScriptCanOpenWindowsAutomatically: Bool
/**
是否允许检测欺诈网站,默认YES
*/
@available(iOS 13.0, *)
open var isFraudulentWebsiteWarningEnabled: Bool
/**
web打印时是否打印背景,默认NO
*/
@available(iOS 16.4, *)
open var shouldPrintBackgrounds: Bool
/*!
如果tabFocusesLinks为YES,则tab键将聚焦链接和表单控件,Option键暂时反转此首选项
一个布尔值,指示是否禁用文本交互
*/
@available(iOS 14.5, *)
open var isTextInteractionEnabled: Bool
/**一个布尔值,指示WebKit是否会应用内置的变通方法(怪癖),提高与某些已知网站的兼容性。您可以禁用站点特定的怪癖 来帮助测试你的网站没有这些变通方法。默认开启YES。
*/
@available(iOS 15.4, *)
open var isSiteSpecificQuirksModeEnabled: Bool
/** 一个布尔值,指示是否启用全屏API。 默认值为NO。我们可以将其设置为YES以启用对全屏API的支持。
*/
@available(iOS 15.4, *)
open var isElementFullscreenEnabled: Bool
/** 指定web视图处于非活动状态时的调度策略,并且脱离了视图层次结构。在播放媒体或加载网页时,Web视图不会被认为是空闲的。 挂起的web视图将暂停JavaScript执行和页面布局。
*/
@available(iOS 17.0, *)
open var inactiveSchedulingPolicy: WKPreferences.InactiveSchedulingPolicy
}
WKPreferences
的扩展,下面的javaScriptEnabled
扩展属性,转移到WKWebpagePreferences
类中,用于设置wkpage首选项配置
extension WKPreferences {
@available(iOS, introduced: 8.0, deprecated: 14.0, message: "Use WKWebpagePreferences.allowsContentJavaScript to disable content JavaScript on a per-navigation basis")
/**
* 设置是否支持javaScript 默认是支持的
*/
open var javaScriptEnabled: Bool
}