首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用webView加载不同的页面:decisionPolicyForNavigationAction:request:frame:decisionListener:method

webView加载不同的页面:decisionPolicyForNavigationAction:request:frame:decisionListener:method 是一个方法,用于决定 WebView 是否加载指定的页面。

该方法的参数包括:

  • navigationAction:表示导航动作的对象,包含了导航的相关信息,如请求的 URL、导航类型等。
  • request:表示导航请求的对象,包含了请求的 URL、请求头等信息。
  • frame:表示导航发生的框架对象。
  • decisionListener:表示决策监听器,用于告知 WebView 是否继续加载页面。
  • method:表示导航请求的方法,如 GET、POST 等。

在该方法中,可以根据需要进行一些判断和处理,例如:

  1. 根据导航类型决定是否加载页面:通过判断 navigationAction.navigationType 的值,可以确定导航类型,如链接点击、表单提交等。根据不同的导航类型,可以决定是否加载页面。
  2. 根据请求的 URL 决定是否加载页面:通过判断 request.url 的值,可以获取请求的 URL。可以根据 URL 的特定规则或者白名单来决定是否加载页面。
  3. 根据请求的方法决定是否加载页面:通过判断 method 的值,可以确定请求的方法,如 GET、POST 等。可以根据请求方法的不同来决定是否加载页面。
  4. 通过 decisionListener 来告知 WebView 是否继续加载页面:根据前面的判断逻辑,可以调用 decisionListener 的相应方法,如 use() 表示继续加载页面,cancel() 表示取消加载页面。

这个方法在前端开发中常用于拦截和处理 WebView 的导航请求,可以根据业务需求进行定制化的页面加载逻辑。

腾讯云相关产品中,与 WebView 加载页面相关的产品包括:

  • 腾讯云移动浏览器(Tencent Mobile Browser):腾讯云提供的移动浏览器产品,可用于加载和展示 WebView 页面。产品介绍链接:https://cloud.tencent.com/product/tmb
  • 腾讯云移动应用开发平台(Tencent Mobile App Development Platform):腾讯云提供的移动应用开发平台,其中包含了 WebView 组件,可用于在移动应用中加载和展示页面。产品介绍链接:https://cloud.tencent.com/product/maap

以上是关于使用 WebView 加载不同页面的方法及相关腾讯云产品的介绍。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【IOS开发基础系列】UIWebView专题

WebView组合管理了WebCore.frameworkPage,并提供了各种Clients;Page管理了Main Frame,Main Frame管理了sub Frame(FrameTree)...UIWebView层(点击图片查看全图):     WebView层(点击图片查看全图):     Page层(未标明关系为组合):     Frame层(未标明关系为组合): 2 与web...交互 2.1 WebView使用Ajax 2.1.1 实现机制         Hybrid框架下app,使用Ajax,需要注意是UIWebViewDelegate不会监测到Ajaxrequest...,遇到如下问题:         UIWebView加载带有锚点URL(如"file:///Users/admin/home.html#pos"),程序使用javascriptrange.surroundContents...方法在网页中为选中文字创建高亮标签,当页面高度超过屏幕高度时,如果页面顶部和初始加载位置不同(进行过滚动),则每次添加高亮,页面就重新跳到初始加载位置,而不是保持当前位置。

31430

IOS WebView控件详解

概述 WebView就是一个内嵌浏览器控件,在iOS中主要有两种WebView:UIWebView和WKWebView,UIWebView是iOS2之后开始使用,WKWebView是在iOS8开始使用,...其加载数据方式有三种: 第一种: - (void)loadRequest:(NSURLRequest *)request; 这是加载网页最常用一种方式,通过一个网页URL来进行加载,这个URL可以是远程也可以是本地...例如: //加载网络请求 - (void)loadRequest:(NSURLRequest *)request; /* 功能:加载本地HTML字符串 string为要加载本地HTML...使用上和UIWebView用法大体一致,主要是新增和优化了一些方法。 例如,使用WKWebView加载百度首页。...:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation; /* 5.页面加载完成之后调用 */ - (void)webView

4.6K80

iOS WebView Hybrid 框架设计

Hybrid APP 框架 一个完整 Hybrid APP 框架主要包括 WebView 容器、Bridge、UI、预加载、缓存等模块儿,当然 Bridge、预加载、缓存等也需要相应前后端支持,比如发布平台...本套框架加载和缓存模块儿需要借助 NSURLProtocol 实现,所以这里还是优先使用 UIWebView(想吐个槽,其实如果预加载和缓存这套系统做好以后,UIWebView 效果并没不比 WKWebView...差),这里也不能把 WKWebView 一棒子打死不用,对于那些对无需预加载和缓存页面,可以为前端提供参数(比如 wkwebview=true)让前端自己去选择是否使用 WKWebView,所以这里需要对...Bridge设计 Hybrid APP 交互无非是 Native 调用前端页面的 JS 方法,或者前端页面通过 JS 调用 Native 提供接口,两者交互桥梁皆 Webview: ?...② H5 跳转新开 WebView 页面。 ③ H5 跳转 Native 页面。 H5 跳转新开 WebView 页面: 协议标准 hybrid_scheme://gotoWebview?

1.6K10

WKWebView使用与JS交互详细解读

一:和UIWebView相比它不同处 1:和JS更好做交互,也支持H5一些新特性 2:加载进度条(下面会演示) 3:性能高,加载变得更快更可靠 二:从加载一张网页开始 1:使用这个WKWebView...四:详细方法使用说明以及注释 详解 WKNavigationDelegate 代理方法,我们把它代理方法使用代码以及注意点全都写出来,注意看下面的注释!...:(WKNavigation *)navigation { NSLog(@"页面开始加载"); } // 加载内容 -(void)webView:(WKWebView *)webView...WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation { NSLog(@"页面加载完成"); } // 页面加载失败...URL包含了https://www.baidu.com/,所以页面是不能被加载,要是能加载就有下面的打印信息,注意和上面方法区分对比!

3K70

WKWebView详解

: 方法来加载web内容; 使用 stopLoading 方法来停止加载使用 loading 属性来判断网页是否正在加载中; 使用 WKUIDelegate 协议来跟踪网页内容加载过程; ---...加载请求信息 @property(nonatomic, readonly, copy) NSURLRequest *request; 产生这次请求frame信息 @property(nonatomic...,这里有一个简单准则就是用frame.request.URL.host属性来标识这个警告。...,这里有一个简单准则就是用frame.request.URL.host属性来标识这个确认界面 确认界面应该只有两个按钮,典型就是确认和取消 显示一个JavaScript输入界面 - (void)webView...WKBackForwardList对象仅仅维护是列表数据,并不会执行任何实际网页加载操作,不会产生任何客户请求。如果你需要产生一次页面加载,请使用loadRequest: 这些方法。

20.3K193

iOS中WebKit框架应用与解析 原

三、使用WKWebViewConfiguration对WebView进行配置         使用下面的代码可以创建一个WKWebView视图,创建WebView视图时,需要使用WKWebViewConfiguration...会共享数据,例如Cookie、用户凭证等,开发者可以通过编写管理类来分配不同维度WebView不同进程池中。...property (nullable, nonatomic, readonly, weak) WKWebView *webView; //传递消息WebView当前页面对象 @property (nonatomic...- (nullable WKNavigation *)loadRequest:(NSURLRequest *)request; //通过文件加载网页视图 - (nullable WKNavigation...,这个类使用如下方法来进行实例化: /* source为要注入js代码 WKUserScriptInjectionTime设置注入时机 forMainFrameOnly参数设置是否只在主页面注入 typedef

1.9K40

iOS中WKWebView交互使用总结

前言 现在多数项目中会有使用webView情况,过去往往使用UIWebView解决问题,但是由于其各种不便,给开发者带来了很多麻烦。...正文 基础使用 ---- 构建和配置 WKWebView是继承自UIView,因此构建方式还是很老套,通常 - (instancetype)initWithFrame:(CGRect)frame...,前者是用来处理webView加载视图各种情况,后者是主要用来处理交互事件。...最后通过addSubView添加视图到父视图上面就可以了,这个时候应该是没有加载任何页面webView。...:(NSError *)error //加载报错,通常来说如果页面出现不存在等问题,会走这里,如果需要对空白页面进行处理,在这里处理 - (void)webView:(WKWebView *)webView

2.8K40

UIWebView 浏览器控件一、初始化与三种加载方式二、常用属性和方法三、代理方法 UIWebViewDelegate四、其它案例:

:(NSURLRequest *)request; 这是加载网页最常用一种方式,通过一个网页URL来进行加载,这个URL可以是远程也可以是本地,例如加载百度主页 UIWebView * view...默认情况下UIWebView加载HTML页面后,会以页面的原始大小进行显示,亦即如果页面的大小超出UIWebView视口大小,UIWebView会出现滚动效果,而且用户只能通过滚动页面来查看不同区域内容...,不能使用手指捏合手势来放大或缩小页面。...发送一个请求之前都会先调用这个方法,监听准备加载内容时调用,通过判断请求等参数来返回不同返回值判断是否加载该网页,是JS中执行OC代码桥梁 - (BOOL)webView:(UIWebView *)webView...页面,又想使得所加载页面的外观和操作行为更加接近native感觉。

1.5K60
领券