WKWebView详解

2024-02-14 06:08
文章标签 详解 wkwebview

本文主要是介绍WKWebView详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        
 @财产(非原子,只读副本)NSURL * URL; ```iOS 9.0+自定义用户代理如果不想自定义用户代理,设为nil即可

@property (nonatomic,copy)NSString * customUserAgent; iOS 10.0+当前浏览页面的SecTrustRef对象

@property (非原子,只读)SecTrustRef serverTrust; 的iOS 9.0-10.0当前浏览页面的证书链(已废弃)其元素是SecCertificateRef
@属性(非原子,只读拷贝)的NSArray * certificateChain; “`
设置代理页面浏览代理


@property(nonatomic,weak)id <WKNavigationDelegate> navigationDelegate;

界面代理


@property(可空,非原子,弱)id <WKUIDelegate> UIDelegate;

加载内容当前浏览页面加载进度的比例(估算值)


这个值根据预期接收的字节总数(包括主文档和所有潜在的子资源)从0.0到1.0不等@财产(非原子,只读)双重估计进展;

在页面加载完成后,估算的进度保持在1.0,直到新的导航开始,这时估算的进度重置为0.0支持KVO是否页面内的所有资源都是通过安全链接加载的支持KVO。

` “
@property(nonatomic,readonly)BOOL hasOnlySecureContent; “`
设置网页的内容和基础URL字符串是网页的内容


- (WKNavigation *)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;

基本URL是用于解析文档内相对URL的URL 返回一个新的WKNavigation对象是否正在加载内容请立即获取iTunes KVO。

 @属性(非原子,只读,吸气= isLoading)BOOL加载; ```
重新加载当前页面返回一个新的WKNavigation对象
  • (WKNavigation *)reload; “`
    是不带缓存的验证(对比reloadFromOrigin)重新加载当前页面(带缓存的验证)如果可能的话使用高速缓存进行验证的条件执行端至端重新验证
 -WKNavigation *)reloadFromOrigin; ``
是带缓存的验证停止加载当前网页中的所有资源
  • (void)stopLoading; “`
    的iOS 9.0+设置网页内容和基本URL 1。

data是网页内容

@property(nonatomic) BOOL allowsMagnification;
@属性(非原子,只读)BOOL canGoBack; ```
是否可以前进即前进后退记录中,当前记录之后是否还有记录

@property(nonatomic,readonly)BOOL canGoForward; “`
iOS 9.0+是允许按住链接就展示链接的预览1.在iOS上,这个属性只在支持3D Touch的设备上支持

   @propertynonatomicBOOL allowsLinkPreview; ``` 
2.10的iOS及以后的系统版本默认值是YES,之前的默认值是NO 3.如果将该属性的值设置为YES,则iOS的用户可以按下链接来预览链接,并可以检测到地址和电话号码等数据。这样的预览被用户称为peeks 4.如果用户在链接预览上更深入地按下,预览将pop到目标网址。该动作会将应用程序切换到Safari 5.如果您想在的iOS中支持链接预览,但又想要在应用程序中保留用户,那么您可以将WKWebView类转换为SFSafariViewController类6.如果您使用web视图作为应用内浏览器,那么进行这种更改是最佳选择7。SFSafariViewController自动支持链接预览8. iOS10.0+开始支持自定义链接预览,你也可以通过这种方式来实现用户预览网页并pop后仍然留在应用内而不用切换到Safari,只是你需要做一些额外的适配工作后退
即在前进后退列表中导航到上一个记录`- (WKNavigation *)goBack;`
返回一个新的WKNavigation对象
如果没有记录可以后退,则返回nil前进
即在前进后退列表中导航到下一个记录`- (WKNavigation *)goForward;`
返回一个新的WKNavigation对象
如果没有记录可以前进,则返回nil前进/后退到一个指定的记录上
item必须是WebView的WKBackForwardList中的一个记录
  • (WKNavigation )goToBackForwardListItem:(WKBackForwardListItem )item;

返回一个新的WKNavigation对象
如果已经在当前记录,或者没有找到,则会返回nil加载一个请求
返回一个新的WKNavigation对象。
  • (WKNavigation )loadRequest:(NSURLRequest )request;

**执行JavaScript**
执行JavaScript字符串1. completionHandler会在脚本执行完成或者失败时调用
  • (void)evaluateJavaScript:(NSString *)javaScriptString completionHandler:(void (^)(id, NSError *error))completionHandler;
2. id是代码执行成功的返回结果,error是执行失败的结果3. completionHandler在主线程中执行获取截图
获取WebView的可见区域截图
  • (void)takeSnapshotWithConfiguration:(WKSnapshotConfiguration *)snapshotConfiguration completionHandler:(void (^)(UIImage *snapshotImage, NSError *error))completionHandler;
WKWebViewConfiguration
使用WKWebViewConfiguration类,你可以决定网页的渲染时机,媒体的播放方式,用户选择项目的粒度,以及很多其他的选项。WKWebViewConfiguration只会在webview第一次初始化的时候使用,你不能用此类来改变一个已经初始化完成的webview的配置。UserAgent中的应用名称

@property(nonatomic, copy) NSString *applicationNameForUserAgent;


WebView使用的偏好选项

@property(nonatomic, strong) WKPreferences *preferences;


进程池1. webview将会从该进程池中获取一个Web Content 进程

@property(nonatomic, strong) WKProcessPool *processPool;

2. 在初始化web视图时,将为它从指定的池中创建一个新的Web Content 进程,或者使用该池中的现有进程与WebView关联的WKUserContentController对象

@property(nonatomic, strong) WKUserContentController *userContentController;


与WebView关联的WKWebsiteDataStore对象1. 如果一个WebView关联了一个非持久化的WKWebsiteDataStore,将不会有数据被写入到文件系统

@property(nonatomic, strong) WKWebsiteDataStore *websiteDataStore;

2. 该特性可以用来实现隐私浏览。是否应该总是允许网页的缩放1. 将此属性设置为TRUE可以使页面被缩放,无论页面的意图是什么   `@property(nonatomic) BOOL ignoresViewportScaleLimits;`2. 设置为TRUE会覆盖网页中的user-scalable HTML属性3. 默认值为FALSE。是否抑制内容渲染呈现,直到它完全载入内存
默认值NO

@property(nonatomic) BOOL suppressesIncrementalRendering;


HTML5视频是否内联播放1. 内联播放就是指在页面内播放而非必须使用native的全屏播放控件

@property(nonatomic) BOOL allowsInlineMediaPlayback;

2. 你必须设置此属性以播放内联视频3. 当在iPhone的HTML文档中添加视频元素时,还必须包括playsinline属性4. 在iOS 10.0之前创建的应用程序必须使用webkit-playsinline属性5. iPhone的默认值为false,而iPad的默认值为true是否允许AirPlay播放媒体

@property(nonatomic) BOOL allowsAirPlayForMediaPlayback;


是否允许HTML5视屏以画中画形式播放
默认YES

@property(nonatomic) BOOL allowsPictureInPictureMediaPlayback;


哪些媒体类型需要用户手势才能开始播放
使用WKAudiovisualMediaTypeNone表明不需要用户手势开始播放媒体`@property(nonatomic)WKAudiovisualMediaTypes mediaTypesRequiringUserActionForPlayback;`已废弃iOS 9.0以后使用allowsAirPlayForMediaPlayback

@property(nonatomic) BOOL mediaPlaybackAllowsAirPlay;


已废弃iOS 10.0以后使用mediaTypesRequiringUserActionForPlayback

@property(nonatomic) BOOL requiresUserActionForMediaPlayback;


已废弃iOS 10.0以后使用mediaTypesRequiringUserActionForPlayback

@property(nonatomic) BOOL mediaPlaybackRequiresUserAction;


用户可以在WebView中交互式地选择内容的粒度级别
默认值是 WKSelectionGranularityDynamic

@property(nonatomic) WKSelectionGranularity selectionGranularity;


                                    

这篇关于WKWebView详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/707695

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

嵌入式Openharmony系统构建与启动详解

大家好,今天主要给大家分享一下,如何构建Openharmony子系统以及系统的启动过程分解。 第一:OpenHarmony系统构建      首先熟悉一下,构建系统是一种自动化处理工具的集合,通过将源代码文件进行一系列处理,最终生成和用户可以使用的目标文件。这里的目标文件包括静态链接库文件、动态链接库文件、可执行文件、脚本文件、配置文件等。      我们在编写hellowor

LabVIEW FIFO详解

在LabVIEW的FPGA开发中,FIFO(先入先出队列)是常用的数据传输机制。通过配置FIFO的属性,工程师可以在FPGA和主机之间,或不同FPGA VIs之间进行高效的数据传输。根据具体需求,FIFO有多种类型与实现方式,包括目标范围内FIFO(Target-Scoped)、DMA FIFO以及点对点流(Peer-to-Peer)。 FIFO类型 **目标范围FIFO(Target-Sc

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMessageDialog()方法 3.1

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

web群集--nginx配置文件location匹配符的优先级顺序详解及验证

文章目录 前言优先级顺序优先级顺序(详解)1. 精确匹配(Exact Match)2. 正则表达式匹配(Regex Match)3. 前缀匹配(Prefix Match) 匹配规则的综合应用验证优先级 前言 location的作用 在 NGINX 中,location 指令用于定义如何处理特定的请求 URI。由于网站往往需要不同的处理方式来适应各种请求,NGINX 提供了多种匹