然后刚刚才发现用了WKWebView之后不会弹窗提示了,查了一下知道原来WKWebView默认禁止了下面的跳转: 打开itunes.apple.com跳转到App Store, 拨打电话, 唤起邮箱等一系列操作 JS...的Alert,Confirm,TextInput弹框 解决方法: 首先实现WKUIDelegate代理方法 解决唤不起打电话和跳转系统应用的方法 - (void)webView:(WKWebView...) { if ([app canOpenURL:URL]) { [app openURL:URL]; // 一定要加上这句,否则会打开新的页面...WKNavigationActionPolicyCancel); return; } decisionHandler(WKNavigationActionPolicyAllow); } } 解决JS...的Alert,Confirm,TextInput不弹框的方法 #pragma mark - Alert弹窗 - (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage
--前言-- window对象的alert和confirm标准方法在不同浏览器的显示效果不太相同,有个相同点是都不是很美观。...我们的想法是使用js和css分别仿照它们,提供另一套函数,使在不同浏览器的有着相同的体验效果。...--设计思路-- 为了保留原有的alert和confirm方法,我们不直接替换window对象的alert和confirm,而是新建一个win对象,该对象下有alert、confirm、open、close...win.alert等的对话框弹出层,使用iframe作底层,确保对话框在ie7以下版本时也能把select标签覆盖在底下,这些对话框在弹出之后,是不会阻塞脚本运行的,所以win.alert等函数都提供一个回调参数...--相关下载-- win.js和例子
ios使用如下方法获得NaN,安卓手机则是正常计算,解决方法是换个这个时间的格式 new Date("2020-07-17 23:59:59").getTime() 换成如下方式就正常了,就是‘-’换成
iOS NSTimer不走的问题 背景 这个版本上线后,突然发现埋点数据直线下降,调试后发现是定时器上传的方法没有走,但是定时器的方法本期并没有修改过。...原因 iOS是通过runloop作为消息循环机制,主线程默认启动了runloop,可是自线程没有默认的runloop,因此,我们在子线程启动定时器是不生效的。...self.uploadTimer forMode:NSRunLoopCommonModes]; [[NSRunLoop currentRunLoop] run]; } 思考 通过这个问题,有两点收获, timer在iOS...开发中经常使用,在很多博客中都看到关于timer要注意的地方也很多,通常是内存管理,timer启动相关,但是在开发中,如果没有真正遇到问题,没有“疼”在自己身上,就自己注意的就不够,经过这次之后,相信以后再要在异步使用...参考 IOS定时器操作和NSTimer的各种坑
- (void)applicationDidEnterBackground:(UIApplication *)application{ [[UIAppl...
1、alert():显示带有一条指定消息和一个 OK(确认) 按钮的警告框。...写在script标签中 括号中的内容为字符串或者整型 点击确认即可关闭,无返回值 如: alert("欢迎光临"); 火狐浏览器显示样式如下: 谷歌浏览器显示样式如下: 2、confirm()...:用于显示一个带有指定消息和 OK 及取消按钮的对话框。...{ } 火狐浏览器显示样式如下: 谷歌浏览器显示样式如下: 3、prompt(?,?):用于显示可提示用户进行输入的对话框。...写在script标签中 第一个问是显示的文本,第二个问是输入框中的默认值(可不写) 点击确认返回输入框中的内容,取消返回null 如: var info = prompt("请输入您的姓名:"); 火狐浏览器显示样式如下
<html xmlns="http://www.w3.org/1999/xhtml"> js 显示农历
iOS和JS的交互看似两个问题,其实要解决的问题只有一个,那就是JS如何调用native方法。...因为查询文档我们就可以发现,在UIWebView中,native有直接调用JS的方法, 但是JS却没有直接调用native的方法。...总结看来,间接实现的方式有4种: 1. 在代理方法拦截Url,识别判断 2. Block传值,实现JS调用OC 3. 模型实现,JS直接用oc方法名来调用oc方法 4....= NSNotFound) { /* 1.检测到链接中包含有特殊字段,客户端要接受响应并做后续处理这就相当于js调起了iOS, 2.在真实的使用时,客户端需要和...,JS可以直接用oc方法名来调用oc方法,这样就类似于安卓的addJavaScriptInterface方法,在使用此方法时仍然要导入JavaScriptCore //第一步:创建一个用与JS交互的类JSHandler
列表显示,顾名思义它是在一个列表视图的形式显示在屏幕上的数据的内容。于ios在列表视图UITableView达到。这个类在实际应用中频繁,是很easy理解。...UITableView定义在头文件UITableView.h中,详细的定义能够查看官方文档;从定义中能够看出,UITableView继承自UIScrollView类,因此在支持方便地显示列表数据的同一时候...显演示样例如以下图: 表视图的协议方法——这是很重要的部分,由于我们创建一个表视图,目的就是让视图能够显示数据,否则一个空空的表视图与废物无二。...创建完毕后,将tableView的delegate和dataSource设置为self,即托付给当前视图控制器来控制表视图的数据显示和响应。...实现这两个方法是想要在表视图中显示数据必须实现的最低要求。
编辑器中复制了源码; > 然后直接粘贴在 csdn 的 MarkDown 编辑器中(当然是代码块中!)...更奇葩的现象是,即便我在 MarkDown 编辑器中手动打出这个单词,保存发布后依然存在问题!...【注意】 在此提示一下,其实文章前期,并没有出现这种问题, 因为有段时间我也是自己复制所写过的源码,但是大概在三个月前出的的这种情况 也是超级一脸懵逼… 附录【2020-07-13】 ①...为了这个问题,今天与客服沟通了下,(客服态度很好的哦)只是个人认为还是不够理想吧… ?...推测 本人推测可能是这些单引号双引号对 js代码产生的影响 因为单纯 只有 “onclick” 这个词是没问题的哦 希望不是我操作出现的BUG,不然可就丢人咯,哈哈哈 … ?
今天遇到了一个小问题,如何通过js将一base64编码的图片显示在html中?写了一个小的demo. 1:将图片转化为base64编码格式。...在线转换工具:https://www.css-js.com/tools/base64.html 2:开始写代码,步骤很简单 1:创建img容器 2:给img容器引入base64的图片 3...:将img容器添加到html的节点中 代码示例 <!...tWL0thgZdeQn1OTXH/G4XEQC4rB5hORV8Kkl1E5cu/Z3GZd07hyO4RvwlJAPlkVP/h5dI7MR61y3fCmLfU4lpewIONknryNV9h9uQ34jS...document.body.appendChild(img); 3:可以看到,已经通过js将一base64编码的图片显示在html中了。
window.alert = function(name){ var iframe = document.createElement("IFRAME");...text/plain,'); document.documentElement.appendChild(iframe); window.frames[0].window.alert
cell还亮着,然后有一点点的放大效果,同时cell的界面在慢慢变成纯白色,最后上下炸开进入内容界面,其实仔细想想,这个和3D Touch的peek效果的前奏不是很像嘛。...弄清楚动画的组成成分以后,开始动手实现,怎么实现列表和详情界面就不说了,可以在文末我的示例工程里面看,直接说cell的点击后执行的过程。...因为这三个视图是在我们点击的时候添加的,我们必须进行移除,否则从详情界面回来列表界面之后,这三个视图还会存在,所以我们要在viewWillAppear方法中将其移除: - (void)viewWillAppear...,我们来拆分一下,整个动画分为三个过程: 第一个过程是加阴影,新创建一个对应的cell显示出来,在动画中稍微增大cell凸显效果,同时有一个纯白视图慢慢覆盖cell视图; 第二个过程是炸开纯白视图,在动画中将其的大小设为整个屏幕大小...可以看出我们把三个新的视图覆盖在了界面上,所以每次列表界面要出现的时候我们就要将其移除,如上所述。
为了达到这个目标,我们团队仔细研究了如何在 iOS 设备上更好更快得显示照片并最终找到了一种方法,能够让 Facebook for iOS 的数据开销降低10%,同时将照片加载显示的速度提升了15%。...然而,手机端的应用们似乎还没赶上这个潮流。举个例子, iOS 端上还没有渐进式处理图片的支持,所以我们不得不为在 iOS 上的 Facebook 开发新的方式来做到这一点。...在 Facebook 的 iOS 客户端上用渐进式图片 在 Facebook for iOS 中采用渐进式的图片渲染有如下一些好处: 1.数据消耗:PJPEG使得我们可以避免下载小尺寸的图片。...但这种格式不支持渐进式的渲染。 等待图片加载 下面这张图片很好的解释了我们在 iOS 端的 Facebook 上是如何下载图片的。下面的两张图片都表示下载一张图片的情况。...取得的成果 1.在 iOS 端上的 Facebook 采用PJPEG后数据占用减少了10%。 2.在用了用PJPEG之后,我们将加载一张令用户满意的图片的速度提高了15%左右。
但是 Node.js 在使用之前需要很多额外的操作,比如装包、引库等。但是zx 提供更多便捷的功能并且还对 child_process 进行了简化封装,从而能够直接调用一些命令。...通过阅读摘要和描述,我们可以知道虽然 Bash 很棒,但是没有 Node.js 简单。虽然 Node.js 编写起来简单,但是在使用前还是有一些麻烦的操作。...而zx 没有以上两种方式的缺点,能够化繁为简,提供简单又方便操作。 在继续深入了解 zx 前,我们先来屡清楚目前提到的一些概念,了解这些概念有助于我们更好地去写脚本。...因此 Shell 是一个大概念,包含了 Bash 等这些命令行工具,而利用这些工具写的脚本叫做Shell 脚本;而 Node 属于编程语言,可以编写 js 文件来执行一些命令, zx 是基于 Node...例如很多人都喜欢在个人博客上面写文章,这时就可以用WordPress 快速搭建一个博客,然后我们就用脚本一键来安装WordPress,下面以 Shell 脚本为例: https://gist.github.com
前言 本文主要从应用来讲数组api的一些骚操作,如一行代码扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等。 上面这些应用场景你可以用一行代码实现吗?...终极篇 [1,2,3,4].sort(); // [1, 2,3,4],默认是升序 [1,2,3,4].sort((a, b) => b - a); // [4,3,2,1] 降序 sort是js...reduce是ES5的数组api,参数有函数和默认初始值。 函数有四个参数: pre:上一次的返回值 cur:当前值 curIndex:当前值索引 arr:当前数组 2.开始篇 先排序再取值。...2.开始篇 [1,2,3].some(item=>{ return item===3 }) //true 如果不包含返回false 8.类数组转化 1.终极篇 Array.prototype.slice.call...12.过滤数组 [1,2,3].filter(item=>{return item>2}) //[3] filter是ES5的api,返回满足添加的项的数组。
场景 在使用PageHelper的过程中,出现了一个很奇怪的问题,假设在数据库中存放有30条Country记录,我们用下面的方法使用PageHelper进行分页查询,那么我们希望得到的page.size...但是当下面的代码放到SpringBoot中标明@PostConstruct的方法下后,查询结果就是30而不是10,让我们一起来看看其中的原因。...countryMapper.selectAll(); PageInfo page = new PageInfo(list); assertEquals(10, list.size()); } } 原因 debug之后发现,在执行完代码...PageHelper.startPage(1, 10)之后,我们把pageSize和pageNum设置到ThreadLocal中去了,但是在执行下一行代码之前,理论上应该进入到PageInterceptor...但是没有进去,原因在于Bean的PostConstruct执行的时候,Pagehelper的autoconfigure还没有初始化,故而拦截器还没有创建出来,所以导致的结果就是startPage只是把分页参数设置到了
NSString *fitHeight = [self stringByEvaluatingJavaScriptFromString:HTMLSource]; 把当前页面的body的HTML...导出来 "document.getElementById('MediaType').title" 获取某个Id=MediaType title=XXX,的title字符串 "var sel=document.getElementById...('MediaType');sel.options[sel.options.selectedIndex].innerHTML;" 获得某个Id=MediaType的select选择框里面选择的内容的字符串...var ren=document.getElementById('renzheng'); var option = ren.options; alert(option[ren.value].text)
less-loader'}, 而上述原因已经在webpack2.x修复,webpack2的UglifyJsPlugin插件去掉了强制开启minimize。...然而如果你不是使用的webpack1.x,通过排查发现,在css压缩插件未使用的时候,兼容前缀正常,一旦使用了OptimizeCssAssetsPlugin来压缩css就会丢失部分的webkit前缀。...所以我们主动关闭cssnano的autoprefixer功能即可,因为我们已经在postcss中使用了autoprefixer插件,这里无需重复使用。...默认不兼容ios8,会去掉部分webkit前缀,比如flex //所以这里选择关闭,使用postcss的autoprefixer功能...autoprefixer: false }, canPrint: true }) 再次编译发现压缩状态时也带有全部的兼容前缀,ios8的不兼容问题即也解决
领取专属 10元无门槛券
手把手带您无忧上云