首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

WKWebView的使用与JS交互详细解读

看网上关于它的博客也是有许多的了,从各个方面总结一下这个WKWebView看网上说它主要是为了和JS做好交互产生的,我们也会相应的尝试一下。就先从它基本的说起!...一:和UIWebView相比它的不同处 1:和JS更好的做交互,也支持H5的一些新特性 2:加载进度条(下面会演示) 3:性能高,加载变得更快更可靠 二:从加载一张网页开始 1:使用这个WKWebView...2.JS端调用alert时所传的数据可以通过message,打印message信息读取出JS端给你的信息。...// JS端调用alert时所传的数据可以通过message,打印message信息读取出JS端给你的信息。...// 在原生得到结果后,需要回调给JS,通过completionHandler 回调给JS // completionHandler 回调的参数和返回值都是空 -(void)webView:(WKWebView

3K70

WKWebView接入PDF.js过程记录处理总结

问题最近用WKWebView读取PDF文件出现字体异常、电子图章不显示的问题,后来查找很多解决方案,最后决定用PDF.js的方式来实现解决方案参考https://www.jianshu.com/p/ded81b392d4d...demo能接入PDF,但部分字体在真机上还是接入异常,后来使用gulp generic-legacy生成generic-legacy稳定包之后,对Safari进行兼容后,终于能修复字体异常的问题PDF.js...= [NSURLRequest requestWithURL:[NSURL URLWithString:urlStr]]; [self loadRequest:request];bytes方式动态加载读取...}]; });demo地址:https://github.com/freesan44/PDFJSReader读取本地PDF文件的方式有两个,一个是初始化接入参数,一个是通过bytes方式动态加载读取初始化接入参数.../www.jianshu.com/p/fd5f248a8158https://www.jianshu.com/p/ded81b392d4dhttps://github.com/mozilla/pdf.js

2.5K30

iOS开发中的WKWebViewJS的交互

/u010105969/article/details/53189934),可当时用来展示网页的控件是UIWebView,而在iOS8之后苹果推出了WKWebView,此控件也能用来显示网页,可与JS的交互却与...注意:在利用UIWebView展示网页的时候我们如果要想与JS进行交互那么我们就得获取JS代码中的方法名,而我们在使用WKWebView的时候就不用了。...alert in js'}); AppModel是我们注入的对象,“()”中的内容是我们传递给客户端的数据。...客户端中需增加的代码: // 注入JS对象名称AppModel,当JS通过AppModel来调用时, // 我们可以在WKScriptMessageHandler代理中接收到  [config.userContentControlleraddScriptMessageHandler...@"urlStr:%@", urlStr); if ([message.nameisEqualToString:@"AppModel"]) {   // 打开外部链接 NSLog(@"找到了注入

2.2K20

iOS WKWebView设置cookie方法总结

WKWebview支持NSURLProtocol可参考:NSURLProtocol对WKWebView的处理 所以这里应该很清楚,NSHTTPCookieStorage已经用不到了,但是你可以把他作为存储...我自己的项目里面已经全部删除了它的使用 第一种:通过NSMutableURLRequest设置cookie(js开发的不推荐) 以我项目为例,这种方法设置的cookie,不能被js读取到,在浏览器调试中也不能看到...所以通过js开发的此方式不可用,但是可以被PHP等动态语言读取,由于我的项目都是用js开发的,故不用此方式,也不做兼容。这里就不做过多的使用介绍。...第二种:在WKWebview初始化的时候,通过js注入 这种方式不好的地方就是,只能在初始化的时候注入,如果cookie的值发生变化,就需要重新初始化,就变得比较low。...使用方法如下图: 第三种:通过WKHTTPCookieStore注入cookie,但是只针对iOS11之后 使用起来就比较方便了。

5.1K31

WKWebView接入PDF.js过程记录处理总结

问题 最近用WKWebView读取PDF文件出现字体异常、电子图章不显示的问题,后来查找很多解决方案,最后决定用PDF.js的方式来实现 解决方案 参考https://www.jianshu.com/...能接入PDF,但部分字体在真机上还是接入异常,后来使用 gulp generic-legacy 生成generic-legacy稳定包之后,对Safari进行兼容后,终于能修复字体异常的问题 PDF.js...important; /* move doc up into empty bar space */ } 读取本地PDF文件的方式有两个,一个是初始化接入参数,一个是通过bytes方式动态加载读取 初始化接入参数...[NSURLRequest requestWithURL:[NSURL URLWithString:urlStr]]; [self loadRequest:request]; bytes方式动态加载读取...viwerPathURL.URLByDeletingLastPathComponent; [self loadFileURL:viwerPathURL allowingReadAccessToURL:dir]; //动态加载的写法

2.7K30

js依赖注入初探

当时对依赖注入这一概念还不是很理解,只是根据题目的要求初步认识了依赖注入。...依赖注入是什么? 在解决上面是上的问题后,回过头来想:依赖注入是啥?其实通过题目的描述以及测试代码容易理解到,依赖注入可以动态地为函数添加依赖。...依赖注入在强类型语言中,如JAVA,比较常见,是一种解藕的方式。 对于如果解释和理解依赖注入,在看了一些“百科”和代码后仍然不是很清晰。...在js中依赖注入的概念不像java中被经常提到,主要原因是在js中很容易就实现了这种动态依赖。最简单的例子:bind函数。...js可以通过bind,apply,call等函数可以很方便地控制函数的参数和this变量,所以简单地依赖注入在很多情况下已经被不知不觉地使用。在AMD的模块定义中,其方式也是一种依赖注入

2.4K20

js依赖注入初探

当时对依赖注入这一概念还不是很理解,只是根据题目的要求初步认识了依赖注入。...依赖注入是什么? 在解决上面是上的问题后,回过头来想:依赖注入是啥?其实通过题目的描述以及测试代码容易理解到,依赖注入可以动态地为函数添加依赖。...依赖注入在强类型语言中,如JAVA,比较常见,是一种解藕的方式。 对于如果解释和理解依赖注入,在看了一些“百科”和代码后仍然不是很清晰。...在js中依赖注入的概念不像java中被经常提到,主要原因是在js中很容易就实现了这种动态依赖。最简单的例子:bind函数。...js可以通过bind,apply,call等函数可以很方便地控制函数的参数和this变量,所以简单地依赖注入在很多情况下已经被不知不觉地使用。在AMD的模块定义中,其方式也是一种依赖注入

3K90

【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 dataappxxlibs 动态库 )

文章目录 一、注入本质 二、静态注入动态注入 三、静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) 一、注入本质 ---- 进程注入本质...; 重打包有一定的弊端 , 不是所有的应用都可以进行重打包的 , 有些应用加固后 , 无法进行重打包操作 , 此时就需要使用 ptrace 函数进行注入 ; 二、静态注入动态注入 ---- 修改 APK...中的动态库的注入方式 是 静态注入 , 修改静态的动态库文件 ; 使用 ptrace 函数 , 在程序运行后 , 向进程内存中注入 动态库 , 动过注入动态库 查询 修改内存 , 这种方式是 动态注入...; 三、静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) ---- 静态修改的两种方式 : 方式一 : 直接修改 APK 中的动态库..., 然后进行重打包 ; 方式二 : 如果遇到不能进行重打包 , 还想要静态注入的情况 , 可以修改 /data/app/包名/libs/ 目录下的动态库 , 这个动态库可以进行修改 ;

88520

动态Shellcode注入工具 – Shellter

Shellter是什么 这是一款真正意义上的动态Shellcode注入工具。“动态”二字就能够说明注入代码不可能存在于规则严格的地方,例如可执行文件的入口点等。...如何选择注入注入点是基于可执行文件的执行流程,实际上Shellter会追踪应用程序的用户空间执行流程,记录下这些指令,可执行文件发生注入的位置区间。...完成追踪之后,Shellter将基于注入代码的大小过滤执行流程,并且有多种过滤参数可得出有效的注入点。 Shellter还提供了其他特性 对于反病毒软件绕过来说,避免使用静态注入点是非常重要的。...(输入及输出) 没有静态PE模板,框架包装等 支持所有32位的有效载荷(通过metasploit生成或用户定制) 支持所有的编码 支持用户创建的自定义编码 废弃代码多变引擎 用户可自定义多变代码 利用动态线程背景信息防止静态分析...--目前仅手动模式 检测自修改代码 追踪单线程或多线程应用程序 基于执行流程的位置进行动态注入 反汇编向用户显示可用注射点 用户可自主选择如何注入,何时注入,在哪里进行注入 命令行注入 最重要的是免费

1K10
领券