其它
文章平均质量分 58
神秘_博士
这个作者很懒,什么都没留下…
展开
-
Chrome 无法携带跨站cookie的各种解决方案
同源策略的历史及对应的解决方案当页面内发起请求时,会默认携带该域名下的cookie。而cookie同源策略是指:除非当前域名和请求域名是同源,才会默认携带cookie。这就导致,localhost直接请求测试环境的接口,比如 http://api.baidu.com,此时不会携带 cookie,从而导致登录失效的问题。这一策略从chrome 80开始存在,而chrome 91升级,chrome 94再升级。chrome 各个版本如何禁用同源cookie策略:chrome < 91,可以原创 2022-03-03 14:20:47 · 3805 阅读 · 0 评论 -
[Phonegap+Sencha Touch] 移动开发55 百度4种坐标系,bd09ll、bd09mc、gcj02、wgs84的详细解释
坐标系原创 2015-07-09 09:32:32 · 7699 阅读 · 0 评论 -
VSCode 的 ESLint 扩展不提示警告和错误的解决办法
不记得从哪个版本的VSCode开始,ESLint就突然不提示错误了。打开 VSCode 的 settings.json位置在 C:\Users\你的用户名\AppData\Roaming\Code\User\settings.json或者命令面板(CTRL+Shift+P) > 输入Preferences: Open Settings (JSON) 也可以打开它加一行配置"eslint.nodePath": "C:\\Users\\你的用户名\\AppData\\Roaming\\npm\原创 2021-07-28 15:27:34 · 13820 阅读 · 0 评论 -
Chrome 80+关于跨站访问Cookies的巨大变动,导致登录失败
前言最近有部分开发者同事的 Chrome 被自动升级到 80+的版本,然后发现 网页登录后的请求没带上 cookies,导致用户验证失败。主要发生在:前端页面 和 后台服务 不在一台服务器上,ip或者域名不同,即跨站请求时出现的。这是因为谷歌从2月17日开始对 Chrome80+ 开启了 SameSite="Lax"(限制跨站访问 Cookie)。根据在线流量监控器StatCounter的数据,Chrome是最受欢迎的网络浏览器,这一变化将在2020年影响全球64%的互联网用户。请继续阅读以了解如原创 2020-09-09 20:38:41 · 2048 阅读 · 0 评论 -
ios 访问 Let‘s encrypt 免费证书的 https 很慢
最近在自己测试自己部署的 https(Let’s encrypt 免费证书),发现请求很慢,有10多秒甚至20秒的延迟。而请求 http 很快,改 ios 的 DNS 也没用。Android 和 Windows 上都没有这个现象。原因因为LE证书的吊销状态检查域名(ocsp.int-x3.letsencrypt.org 以及相关CName或Alias)在大陆受到劫持引起。苹果系统的浏览器打开SSL网站时将对证书的状态进行验证,当在验证证书状态时,请求了被劫持的Let’s Encrypt证书状态检查(O原创 2020-08-06 22:46:49 · 3040 阅读 · 0 评论 -
一些公共 http 域名,但是解析到 127.0.0.1
因为 http://localhost/ 和 http://127.0.0.1 没有 https 形式,但是可以买一个域名,解析到 127.0.0.1。如果不想折腾,可以用现成的(都是大厂域名):http://safe.taobao.com/http://114.taobao.com/http://wifi.aliyun.com/http://imis.qq.com/http://localhost.sec.qq.com/http://ecd.tencent.com/......原创 2020-07-12 22:17:28 · 3706 阅读 · 0 评论 -
js 计算精度问题,及解决办法
JavaScript 浮点数运算时经常遇到会 0.000000001 和 0.999999999 这样奇怪的结果,如:对于产生这些计算误差的具体原因这里不做探讨,如果想要了解可以到 https://github.com/camsong/blog/issues/9 了解其原理。解决办法1、如果精度要求不高,可以四舍五入(比如按照9位小数四舍五入)2、或者 可以通过引入 bigNumber.js 或 big.js 进行解决99999999999999999999-999999999999999990原创 2020-06-17 17:12:46 · 2090 阅读 · 0 评论 -
异步调用 window.open 时被浏览器阻止新窗口解决方案
调用 window.open 同步和异步指的是:在点击界面(任意位置)的同时执行 window.open 就是同步方式;点击界面,执行一个ajax请求或者setTimeout后才执行 window.open 就是异步方式。异步打开窗口,会被浏览器阻止。解决方法1、先以同步方式调用 window.open 打开一个空窗口,得到新窗口的引用,也就是句柄 handle;2、在 ajax 或 setTimeout 后,通过 handle.location = '新的url' 改变其 url 即可。原创 2020-06-17 16:22:22 · 1944 阅读 · 0 评论 -
百度地图 JavaScript 库在 https 下无法使用的问题
1、在页面加入<script type="text/javascript">window.HOST_TYPE='2'</script>2、然后引入百度api,注意密钥及在url中添加参数s=1<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=您的密钥...转载 2019-03-27 17:54:14 · 1518 阅读 · 0 评论 -
Chrome 67+ 显示 1901年1月1日 之前的日期 时区“错误”
看下面3张图,对于 Chrome 67和68,new Date(1900, 0, 31) 的结果,时区偏移居然是 +0805。此结果同样出现在 安卓版 Webview 67。然而,Chrome 66 及以前的版本,是正常的,如下图:下面是来自 Stack Overflow的解释,下面以 中国 本地时间为例:1、将年月日时分秒单独传递给 Date 构造函数时,这些单独的值...原创 2018-07-19 08:55:02 · 1952 阅读 · 0 评论 -
Kitchen-sink 厨房水槽是什么鬼?
很多框架,比如ExtJs,都把自己的官方Demo(里面包含所有控件的示例)叫做 Kitchen sink。 字面上翻译是”厨房水槽”。其实这个词有来源的。Kitchen-sink是个动词,这个词是来自”everything but the kitchen sink”。 按照每个字来翻译,它的意思就是:除了厨房水槽外的一切。 这里指的不是所有的东西,而是指几乎所有的一切。 这个俗语在第二次世界原创 2017-07-25 21:34:41 · 11531 阅读 · 2 评论 -
HTML5 文件上传的2种方式
以前上传文件需要提交Form表单。HTML5方式上传文件,可以通过使用FormData类模拟Form表单提交,从而实现无刷新上传文件。假设有一个文件选择框有下面2种方式上传文件:1、XMLHttpRequestvar files = document.getElementById('pic').files; //files是文件选择框选择的文件对象数组if(原创 2017-05-08 15:51:28 · 46903 阅读 · 3 评论 -
git忽略而不提交文件的3种情形
1、从未提交过的文件可以用.gitignore也就是添加之后从来没有提交(commit)过的文件,可以使用.gitignore忽略该文件该文件只能作用于未跟踪的文件(Untracked Files),也就是那些从来没有被 git 记录过的文件比如,忽略log/下的日志文件,可以在.gitignore中写log/*2、已经推送(push)过的文件,想从git远程原创 2016-06-13 17:28:52 · 18586 阅读 · 6 评论 -
JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等)
原文链接:最近代码中有个功能需要用到手动触发键盘事件的功能。但键盘事件的fire在各浏览器下实现不一样,下面分别说明:1. IE下没什么问题,创建事件对象、对对象的keyCode属性赋值,然后再抛出来就行了:evtObj = document.createEventObject();evtObj.keyCode=keyCodeel.fireEve原创 2016-09-08 15:23:25 · 72070 阅读 · 17 评论 -
百度UEditor粘贴或插入的表格不显示边框的解决办法
这个方法是我自己研究出来的。编辑器里面可以看到表格有边框,在前台页面展示出来的却没有边框。修改办法:打开ueditor.all.js1、找到下面的代码,修改utils.each(tables, function (table) { removeStyleSize(table, true); domUtils.removeAttributes(table,原创 2016-06-15 09:54:30 · 22160 阅读 · 8 评论 -
数据结构算法经常看到的形如"int InitStack(Stack &S)"和"int Empty(Stack S)"的解释
本文由江伟原创,如要转载请注明出处,谢谢! 在很多算法中我们经常看到形如"int InitStack(Stack &S)"和"int Empty(Stack S)"的两种形式,即有"&"和没有"&"两种。相信很多人还没弄清楚这是怎么回事。其实这是函数传参的两种形式—按值传递和按址传递。 我们都知道以前学c++时一个经典例子用来解释这两种传参方式的区别,就是调原创 2010-04-22 21:30:00 · 17223 阅读 · 1 评论