跳至主要内容

博文

iOS webview js交互总结

iOS web控件有两种,一种是UIWebView,一种是WKWebView UIWebView UIWebView 拦截函数为自定义函数 UIWebView js交互,如果交互函数只有函数名称,即中间没有.号的话,拦截很容易,如果有.号的话,要拦截,必须使用第三方组件 UIWebView+TS_JavaScriptContext ,然后在 webViewDidFinishLoad: 里面执行以下函数(demo中的函数是thirdPartyApp. CloseWebView()) self.context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; self.context[@"thirdPartyApp"] = self; 然后再在web控制器页面添加函数就可以完成拦截过程了 - (void)CloseWebView{ } ## WKWebView WKWebView 拦截的js方法和UIWebView不一样,只能拦截window.webkit.messageHandlers. mydemo .postMessage函数,拦截名称为灰色部分。 WKWebView 有两种方案 方案1: 修改web,然后添加兼容WKWebView的代码,本地修改useragent,添加webConfiguration.applicationNameForUserAgent = @"demo";后面为添加的区分代码 交互代码为 window.webkit.messageHandlers.mydemo.postMessage(''); 方案2:初始化代码如下,添加的js交互代码 拦截核心代码如下 WKUserContentController *userController = [[WKUserContentController alloc]init]; NSString *javaScriptSource = @"var thirdPartyApp = {};thirdPartyApp.function(){window.webkit.messageHandlers.m...

iOS plist 文件更新

iOS企业更新网上有很多说法,现在总结一下。 1. plist模板采用最新的xcode导出一份即可。 2. 想要正常下载,需要.ipa,对应的图片(大小需要匹配),plist文件,https环境。

软件漏洞

做为一名程序员非常清楚的一点是,软件漏洞是很正常的。无论在任何情况下,系统都是有漏洞的,所以,很讨厌拿系统漏洞来说事,因为,那个无法避免。无论你怎么做,都不可能没有办法去攻破的。毕竟,所有的东西,都是有软件系统的。 当然,能接受这个事实的人又有多少呢?也许真没有多少。