偶然看到网络上有人说safari不支持网页的tabIndex属性,可是这怎么可能呢?做了个测试还果真如此。...上caniuse查了一下:image.png原来是要打开MacOS设置里的一个Full Keyboard Access开关才支持。...在Big Sur的设置里面没找到叫做“全键盘访问”或者“全键盘控制”的开关,不过发现了这个:image.png进去后在快捷键设置里面找到:image.png钩上以后,tabIndex就正常起来了。...不知道苹果把这个选项默认去掉的考虑是什么?跟以前的邮箱一样因为outer-line不好看?这个“使用键盘导航在控制间移动焦点”也是个神一般的翻译。我们中文里面似乎没有“控制间”这样的说法啊?
大家好,又见面了,我是你们的朋友全栈君。...需求:在以下的布局要求下,利用flex布局来实现,但需要在最外层给一个固定高度来控制页面高度及可滑动区域的可视高度 很自然的利用100vh来控制最外层的高度,但测试过程中,发现safari浏览器中,页面的高度出现了偏差...,比屏幕的高度还要高出一部分,出现了双层滚动条。...经研究,发现safari的100vh是包含地址栏和功能列的,而其它浏览器100vh才是用户浏览器真正的可见区域(见下图) 解决方案 通过innerHeight重新定义一个变量代替vh safariHacks...('.wrap').style.setProperty('--vh', windowsVH + 'px'); }); } 在mounted内调用该方法 height: 100vh; /*給 Safari
return { x : p.x + w /2, y: p.y + h /2 }; } svg...degree},${pCenter.x},${pCenter.y})" style="fill:rgb(0,122,255);stroke-width:1; stroke:rgb(0,0,0)"/> 计算旋转后的矩形起始点...这个相当于,一个点绕着中心点旋转一个角度,求解旋转后的点 /** * 计算旋转后的点 * @param {*} p 原始点 * @param {*} pCenter 旋转中心点 * @param...pCenter.x), y: ((p.x - pCenter.x) * sinv + (p.y - pCenter.y) * cosv + pCenter.y) }; } 已知旋转角度和旋转后的点...,计算原始点 场景: 矩形绕原始的中心点旋转后,再调整宽高,这个时候原始点其实已经发生变化,但是旋转角度未变,我们需要计算新的原始点。
(也无聊的用自带的云函数做了个备份将数据copy到了cos对象存储)并在springboot上面加了允许跨域等设置,代码是网上copy来的: [9nwcxhrhx9.png?...,safari也都是正常的,但是最新的iPhone12貌似异常?...小伙伴找我了下 开始排查; 找了一个小伙伴所谓正常的域名和我接收日志的服务域名打开调试模式对比发现: [r0f7pxu64n.png?...代码抄来的其实我也不知道Access-Control-Allow-Credentials这个是干什么的。百度一下 [uwuia46jjj.png?...有时间仔细研究下http的header以及各种配置。博大精深啊
趁记忆还热乎 赶紧过来记录一下自己踩坑的记录 现有的项目是从另一个项目移植过来的, 并不是完全移植 为了减小项目的体积 前端组长将一些暂时用不到的组件 node包都剔除了 这也就引出了一下的问题...今天调试菜单图标的时候 发现项目中菜单的图片渲染用到的是icon-svg 这个组件 但怎么找都找不到这个组件 于是我才原有项目中找了一下 copy过来 但这样子仍然不行啊,svg标签出来了 但样式...svg内容没有出来, 于是继续把样式扒过来, 样式对了 但svg内容就是死活出不来, 于是我一直搜这个svg在哪个地方引入的 怎么注入到页面的 折腾了一上午,终于让我发现了 一句话 原项目中这样写...把svg-sprite-loader 引入 引入之后 配置好编译好的目录 { test: /\.svg$/, loader: 'svg-sprite-loader',...找不到svg文件里 没有svg> 标签 怎么会这样 明明有啊 后来我又搜了一下这个出错的问题 又看了一下 webapck.base.conf.js 这个文件 发现还有一个loader 处理了
,在做的时候个人习惯使用chrome作为调试工具, 代码基本完成之后,一切正常; 使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误”Invalid Date”。...想着估计是字符串格式的问题,改成’2016/11/11 11:11:11’再测试,结果正常,以为这样应该没问题了,再用手机浏览器继续访问,android正常,iPhone继续报错, 再改”Nov 11...Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]); document.write(date); 终于可以兼容所有浏览器咯,结论: iPhone中的safari...无法解释 YYYY-MM-DD HH:mm:ss 或者YYYY/MM/DD HH:mm:ss这样的时间格式,而谷歌火狐等浏览器对这样的格式做了扩展, iPhone中的safari所支持的格式为 YYYY...,MM, DD,HH,mm,ss,这个问题纠结我大半天,真的好想把苹果的程序员拉出去枪毙10分钟,太TM特立独行了。
SVG - 基本的SVG属性 HTML5学堂:在前一篇文章当中,我们讲解了SVG的基本知识,并且为大家介绍了如何在html文件当中书写SVG代码。...今天我们具体讲解SVG的基本属性,如何使用SVG完成线、圆等图形的绘制。...line - 直线 拥有四中基本属性 x1 属性在 x 轴定义线条的开始 y1 属性在 y 轴定义线条的开始 x2 属性在 x 轴定义线条的结束 y2 属性在 y 轴定义线条的结束 demo 的高度和宽度 x 属性定义矩形的左侧位置(例如,x="0" 定义矩形到浏览器窗口左侧的距离是 0px) y 属性定义矩形的顶端位置(例如,y="0" 定义矩形到浏览器窗口顶端的距离是...0px) CSS 的 fill-opacity 属性定义填充颜色透明度(合法的范围是:0 - 1) CSS 的 stroke-opacity 属性定义笔触颜色的透明度(合法的范围是:0 - 1) CSS
Valine & Safari 不知道使用 ios 设备的博友在浏览本站页面的时候有没有发现一个问题,所有页面评论模块都是不显示的!...解决过程 先聊下问题解决过程,首先发现这个问题的时候,已经迭代了很多版本更新了,魔改了一大堆东西,包括功能样式交互和一些额外的东西,一如往常的想到了版本回滚,但由于版本实在太多,且很多版都运转不正常,往前的版本和当前版本大小相差甚至达到了...首先就安装了 macOS,之后使用 Safari 进行调试的时候发现控制台报了个正则错误,外网搜了下发现基本都是 safari 报这个错误,但它报错并没有精确到哪一行,而是直接把代码块标红了,看着一大坨压缩了的代码块...之后就一直拖着没管 问题根源 买了那个被背刺的 iPad 后,使用 Safari 的时候更多了,这时候在博客上查看评论就不行了,甚至有些写在 valine.js 内的调用功能都被阻塞不显示了,非常的恼火...Safari 上就不会再报错了!
今天在进行项目测试过程中,有一个地方是需要通过js来计算两个日期之间剩余多少天多少小时多少秒,在其他浏览器中正常运行,但是到了Safari中发现显示结果为NaN天NaN小时NaN分钟。...其问题就出现在了new Date方法上, 我的时间 var myTime = "2015-12-31 12:10:21"; var newTime = new Date(myTime); 通过网上搜索发现...Safari认可的格式之一为YYYY-MM-DDTHH:mm:ss,这个格式其他浏览器也是认的,也就是在直接输出的时候不好看,但是在计算的时候可以做到通用。...原因是Safari浏览器中对"2018-11-01 12:00:02"的解析不正确,有时会解析成为UTC时间,和北京时间相差了八个小时。...但是Safari浏览器可以完美解析"2017/08/01"格式的字符串,而经过测试,Chrome浏览器中对这两种格式("2017-08-01"与"2017/08/01")的字符串均能完美解析,所以将代码改成如下
SVG渲染顺序 从上面的代码中可以看出,在文本编辑器里编写SVG代码就可以绘制出所需要的图形。那么SVG中绘制过程有自己的基本原则: 解析顺序和绘制顺序一致,都要遵守XML中元素的位置排列。...SVG绘制处理过程可以用下图简单的来描述: 不过在绘制SVG时,有一些细节需要注意: 解析SVG文档时,忽略DTD验证:虽然是 DTD 是 XML 解析的标准验证方式,但是很多工具制作的 SVG,DTD...要解决这个问题,只能通过JavaScript来动态改变SVG的元素顺序。比如: 最终效果如下: 注意: 对于已经存在的对象,则是移动了标签的位置。...总结 通过这一节的内容介绍,特别是借助于制图软件,让我们更好的理解了SVG的中图层中的概念,以及其渲染顺序。从而对SVG有了更深一层的了解。虽然这些都还只是SVG的基础,还不足以支承你做有意思的东东。...下一节,我们将学习SVG中的坐标系统。SVG的坐标系统相关的知识重要哟。
表格内嵌图表极大提升了表格的丰富度,使用SVG可以在Power BI表格、矩阵灵活内嵌图表。应用过程中,有人遇到排序问题,在此进行解答。...以进度条为例,你想展示的进度条可能是从高到低排序,如下图所示: 但是,当点击任何一列图表降序时会发现,显示顺序不是我们想象中的从大到小。...原因是SVG的本质是文本,此处排序是按照SVG文本排序,而不是SVG展示的数据排序。如何按照真实数据排序呢? 把SVG代表的数据度量值也放入表格矩阵,按此度量值排序,然后拖拽边框隐藏该度量值。...隐藏之前需要把所有的换行关闭,否则会造成行高异常: 如何防止用户误触表格的标题影响排序?...标题上方覆盖一个透明的长方形进行遮挡: 视频教程: Power BI SVG图表设计:从基础到实战 Power BI DAX自定义流向地图
,而安卓和pc端都可以,找了大半天bug,发现其他的苹果设备都没问题,只能一个一个的调试,结果发现设备的系统是ios8.3,在该系统下cookie没有设置上,导致没有跳转。...找了好多的资料,国内的,基本都是牛头不对马嘴,根本不是这回事。...最后直接google国外的资料,终于在第n页看到了一个帖子:http://stackoverflow.com/questions/5327341/strange-problem-with-cookies-in-safari-and-asp-net...找到问题所在了:Safari will not set cookies with non-ASCII characters in their value and other browsers can be...就是非ASCII码的汉字或符号,是不被认可的字符。那么只好对需要设置的cookie进行了UrlEncode,读取的时候再来UrlDecode。
近期完成了一个儿童的测评项目,测试到最后的时候发现在ipad mini上登陆成功之后无法跳转页面,而安卓和pc端都可以,找了大半天bug,发现其他的苹果设备都没问题,只能一个一个的调试,结果发现设备的系统是...找了好多的资料,国内的,基本都是牛头不对马嘴,根本不是这回事。...最后直接google国外的资料,终于在第n页看到了一个帖子:http://stackoverflow.com/questions/5327341/strange-problem-with-cookies-in-safari-and-asp-net...找到问题所在了:Safari will not set cookies with non-ASCII characters in their value and other browsers can be...就是非ASCII码的汉字或符号,是不被认可的字符。那么只好对需要设置的cookie进行了UrlEncode,读取的时候再来UrlDecode。 测试结果:OK!
Cookie safari bugs 因为 mac os(safari,iphone(h5),ipad 等) 安全策略的问题,在设置安全 cookie 的时候,在验证图形验证码的时候,会出现储存不了 cookie...通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie使基于无状态的HTTP协议记录稳定的状态信息成为了可能。...chrome 的储存器 存储查看器使你能够查看网页使用的多种存储类型。...还列出了作为网络呼叫响应的一部分创建的 Cookie,但仅适用于工具打开时发生的响应 IndexedDB — 所有页面创建的IndexedDB或或页面中任何的- IndexedDB。...其对象存储以及存储在这些对象库中的项目。 本地存储— 所有页面创建的本地存储或页面中任何的 iframes。 Session存储—所有页面创建的 Session 或页面中任何的 iframes。
在本教程中,重点将放在 SVG 的过滤器上 —— 但不只是将它们应用于 SVG 图像,我将向你展示如何将它们应用于任何常规页面的内容上。...实际上我们是通过告诉 CSS 过滤器所拥有的 ID,然后再把过滤器应用于 SVG 的方式来实现。使用同样的方法,过滤器也可以用于常规文本。...创建一个 SVG 过滤器 SVG 代码可以添加到页面的任何位置,但是因为它不会被用户直接看到,所以最好将它放在闭合 body 标签之前的最底部。 SVG 过滤器产生一些波纹效果。...使用高斯模糊来柔化文本 水边效果的边缘看起来有点扎眼。这可以用高斯模糊来解决。在置换贴图后面添加代码。当你刷新页面时,它确实模糊了文本,但位移也消失了。同样这些问题可以在实现效果的过程中被修复。...添加新过滤器 接着为这个效果添加另一个过滤器。在SVG中,在先前添加的过滤器标记代码的后面添加以下代码。这里的效果用和前面非常相似的方式建立起来。这将使菜单看起来像粘稠的液体一样分开。
转:https://segmentfault.com/a/1190000006184156 前人就有的经验 在开发java web应用的时候经常会遇到令人头痛的字符编码问题,期中一个就是客户端发送过来的请求的编码在请求头里并没有...这个问题的解决办法很简单,就是写一个filter来过滤所有请求,然后设置一下request的characterEncoding,比如: public class CharacterEncodingFilter...但是这里有个陷阱,整个web应用里,这个filter的拦截顺序必须是第一个,否则还是会出现乱码问题。...这是因为(至少在tomcat里): request对象的parameter并不是一开始就解析的,它是等你第一次调用getParameter*等凡和获得请求参数有关的方法的时候才解析的 paramter...来解析,从而造成乱码问题。
注意: Internet Explorer和Safari不支持SVG滤镜! 一、前言 defs 和 filte元素 所有互联网的SVG滤镜定义在元素中。...DOCTYPE html> Note: Internet Explorer and Safari...代码解析: 过滤器是用来转换偏移的图像使之更接近黑色的颜色。'0.2'矩阵的三个值都获取乘以红色,绿色和蓝色通道。降低其值带来的颜色至黑色(黑色为0)。...三、总结 本文基于Htm基础,主要介绍了通过SVG进行图像,阴影效果的呈现,feOffset元素在实际应用中对图像的阴影添加不一样的样式 ,呈现不一样的阴影层次。...通过丰富的案例分析,效果图的展示,让读者能够更好理解和学习。 大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
拖拽功能不兼容主要有4大主要原因: 1是event的path属性引起的bug(ie,firebox,safari) 2是event的dataTransfer.setData属性(ie,firebox...) 3是firefox在拖动的时候会打开一个新窗口 (firbox) 4是ie11不支持onclick属性方法 ; ie11 里元素对象的attributes的排序和其他浏览器不同, ie11 中...remove()方法不work (ie) 对于原因1的解决方案 其中IE11 压根就不支持path属性,firefox和Safari还勉强通过hack的方式获取到path,获取方式如下: const...对于原因2的解决方案 IE11, firefox 都有dataTransfer.setData的问题, Safari没有可以不用管。...解决这个问题 ,我是通过遍历attributes 找到符合我要的代替之前的写死的attributes顺序 针对ie11 remove()不work的情况,可以用代码 parent.removeChild
创建字符编码过滤器对象,源码如下: package com.tzy.filter; import java.io.IOException; import javax.servlet.Filter;...request.setCharacterEncoding(encoding); response.setContentType("text/html;charset=" + encoding); } /* * 在过滤器对象的...doFilter()方法中,业务逻辑处理完成之后, * 需要通过FilterChain对象的doFilter()方法将请求传递到下一过滤器或目标资源,否则将出现错误。...,其过滤器的URL映射可以使用正则表达式进行配置,如实例中使用“/*”来匹配所有请求。... 3.2 处理请求的Servlet
考虑到苹果设备使用,所以不能忽略safari,明明早就知道要留意了,结果新的项目又忽略了,小记一下: safari调用new Date()做时间转换的话,字符串不能用“-”做连接符号,也不能用.0做毫秒...引自别人的话: 查阅相关es6标准文档,其中指出字符串日期格式必须符合ISO 8601标准,标准为:YYYY-MM-DDTHH:mm:ss.sssZ,同时文档也指出了各个段位的含义,以及在缺失状况的处理...,那么问题来了,明显字符串日期的格式不符合这个标准,但是为什么其他浏览器却可以正确显示,个人猜测:其他浏览器厂商对这种字符串转日期在标准的基础上做了这种格式的扩展,然后safari并没有,其实我们无需具体了解各个浏览器厂商到底对这个格式做了什么扩展...,我们统统都转为标准的格式,这样就能很好的解决各个浏览器的问题了。...safari日期转换 ? chrome日期转换