最新文章
本方法不易维护,建议取出数据,在程序中递归,例如 https://javascript.net.cn/article?id=654代码如下:delimiter /
DROP FUNCTION IF EXISTS `getChild` /
CREATE FUNCTION `getChild`(rootId INT)
RETURNS VARCHAR(1000)
BEGIN
DECLARE ptemp varchar(1000);
DECLARE ctemp varchar(1000);
SET ptemp = '#';
SET ctemp =ca
后端篇地址:https://javascript.net.cn/article?id=649相关文档:https://restfulapi.cn/d/271前端代码主要功能是,连接服务器,发送心跳,断开服务器后自动连接。/**
* JSSDK 对象
*/
var PigIM = {
config: {}, // 配置
fromId: {}, // 发送者 ID
ws: {}, // Websocket 对象
connection: {},
listen: {},
heartbeatTimer: {},
CentOS vsftpd 开启 TLSopenssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem先使用上文命令生成pem证书,随后编辑主配置文件,使vsftpd应用pem证书:ssl_enable=YES #是否启用SSL,默认值:NO
allow_anon_ssl=NO #禁止匿名用户登录
force_local_data_ssl=YES #如果激活,所有非匿名登录将被强制使用安全的SSL连接以发送密码
1,CTRL + T 自由变换CTRL + SHIFT + T 重复自由变换CTRL + SHIFT + ALT + T 重复自由变换,并保留2,使用 Photoshop 提取线稿使用正片叠底的话,线稿透不透明好像无所谓。选中通道,按着cmd键点击RGB通道,所有白色区域被选中,返回图层,蚂蚁线出来了,DELETE即可获取背景透明的线稿。https://www.bilibili.com/video/av365556193,Photoshop 矢量工具的工具属性中,有三个选项:形状,路径,像素如果做svg图标的话,像素用处不大。路径可以转换为形状,然后进行描边和填充。像素图形可以转换为选区,再转
运行 regedit, 进入注册表编辑,按先面的路径进入修改端口的地方HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp找到下面的 “PortNumber”,用十进制方式显示,默认为3389,改为任意可用端口。请注意,在这里修改过了以后,还没有修改成功,注册表文件的另外一个位置也必须做相应的修改,路径为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp找
keytool简介keytool 是java 用于管理密钥和证书的工具,其功能包括:创建并管理密钥,创建并管理证书,作为CA 为证书授权,导入导出证书。主要格式keytool 采用 keystore 文件来存储密钥及证书,其中可包括私钥、信任证书;keystore 文件主要使用 JKS格式(也可支持其他格式),带密钥存储;其中私钥的存储也有独立的密码;生成签名证书使用keytool -genkey命令生成证书:keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.key
1, App/uni-app离线本地存储方案https://ask.dcloud.net.cn/article/1662, uni-app导航栏开发指南 刘海屏,水滴屏https://ask.dcloud.net.cn/article/349213, 富文本/渲染/显示/图文混排方案。rich-text、uparse、v-html的区别https://ask.dcloud.net.cn/article/357724, 微信小程序超过 2MB 需要分包https://uniapp.dcloud.io/collocation/pages?id=subpackagestarBar 使用的地址不能是分
物理像素: 顾名思义,就是设备屏幕上的实际像素。也就是说这个手机被出厂造出来的时候,这个屏幕上有多少个像素点,他的物理像素就是多少; 设备独立像素: 也叫做逻辑像素(对于前端来说,和我们的css像素是一样的),这个不同的设备是不一样的。在viewport为ideal-viewport模式时, 如iphone6此时的viewport为375px,代表着我们在css中写375px就可以达到全屏的效果;在移动端中会使用rem方案,来做不同设备间的适配:(function () {
function changeRootFont() {
var designWidth = 750, rem2p
作用:将一个数组转为用逗号分隔的参数序列。//该运算符主要用于函数调用。function push(array, ...items) { array.push(...items);} function add(x, y) { return x + y;} var numbers = [4, 38];add(...numbers) // 42//扩展运算符取代apply方法的一个实际的例子,应用Math.max方法,简化求出一个数组最大元素的写法。// ES5 的写法Math.max.apply(null, [14, 3, 77]) // ES6 的写法Math.max(...[14, 3, 7
body
canvas id="canvas" width="120" height="30" style="cursor: pointer" /canvas
input type="text" id="code" placeholder="不区分大小写"
input type="button" value="验证" onclick="clickEvent()"
/body
/html
script
var numArr = []
var canvas = document.querySelector('#canvas');
css :not()排除函数css:not()函数用来排除选择,not(x),其中的x为css选择器,但是x不能是not选择器,也就是说:not()排除选择器不能嵌套使用。css:not()排除选择器使用.sibcont{
background:#f1f1f1;
border:1px solid #bababa;
margin:20px;
padding:20px;
}
.sibcont ul{
margin:0;
padding:0;
list-style:none;
}
.sibcont ul li{
color:#C91010;
最近探究js原理的过程中遇到了这个挺有趣的问题。先贴代码:var a = {n:1}a.x = a = {n:2}alert(a.x) //undefined在弄懂这个之前,我们先普及一个知识点,就是在javascript运算符中,属性运算符的优先级高于赋值运算符的优先级。因此,a.x是先于赋值之前就进行的。就是说,a.x刚开始是undefined的,这是没错的。接下来我们探究一下连等赋值的赋值顺序:1、从左往右a.x赋值为{n:2};然后a赋值为{n:2};a的重新指向重写了a.x,即.x属性不存在,因此a.x输出为undefined。2、从右往左a赋值为{n:2};直接限制了a.x的赋值,
在文件上传的时候我们我们选择监控change事件来获取文件,如果第一次如果选择了A文件,当再次点开选择A 文件时,change事件没有触发,这时可以用如下方式处理.1. vue项目处理方式:this.$refs.uploadExcelId.value=null;复制该代码到项目中,并且把uploadExcelId换成自己input的ref即可。2. 普通js处理方式:event.target.value=”;尽量不要用删除dom元素,再添加这种操作方式,因为还需要在做事件绑定比较麻烦。
Scss 和 Sass 的区别scss 是 sass的一个升级版本,完全兼容sass之前的功能,又有了些新增能力。语法形式上有些许不同,最主要的就是sass是靠缩进表示嵌套关系,scss是花括号。比如:/*** sass 代码 ***/
.main
width:100px;
.top
width:100px
/*** scss 代码 ***/
.main{
width:100px;
.top{
width:100px;
}
}
编码规则SASS首先会检查代码文件的Unicode BOM(byte order mark),然后是@ch
for和forEach的差别是后者不能正常的跳出循环(return、break等),其它的差别不大,把forEach转成for的写法就知道为什么你的for写法可以顺序执行而forEach不能:for:const report = async () = {
for (let i = 0, len = arr.length; i len; i++) {
await asyncFn(arr[i]);
}
};
forEach:const report = async () = {
arr.forEach(async (item) = {
HLTML5播放HLS流(.m3u8文件) Apache 跨域设置1,使用 mod_headers 添加请求头信息Apache 配置文件中确保加载了以下模块:LoadModule headers_module modules/mod_headers.so
虚拟主机配置文件中,添加Header add Access-Control-Allow-Origin: *这样做以后,提示 m3u8 没有提示禁止跨域了。但是视频切片文件(.ts文件)提示跨域禁止。然后,进行下一步。2,添加crossdomain.xml播放器跨域访问时需要添加策略文件,即在视频播放链接所在域名的根目录下添加 crossdo
一、简介在HTTP中,基本认证(Basic access authentication)是一种用来允许网页浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。最明显的特征是,Basic Auth 就是在请求的时候在headers中设置 Authorization: "Basic 用户名和密码的base64加密字符串"。JWT Token 认证,建议把 Token 保存在 Authorization Bearer中。二、访问形式1、使用浏览器在使用浏览器访问设置了 HTTP Basic Auth 的服务器时,会弹出对话框,输入用户名和密码即可。2、使用 HTTP Cl
axios API可以通过向 axios 传递相关配置来创建请求axios(config)// 发送 POST 请求
axios({
method: 'post',
url: '/user/12345',
data: {
firstName: 'Fred',
lastName: 'Flintstone'
}
});
// 获取远端图片
axios({
method:'get',
url:'http://bit.ly/2mTM3nY',
responseType:'stream'
})
.then(function(response) {
使用PHP下载大文件文件,有时候还需要修改PHP配置。比如:https://javascript.net.cn/article?id=613 有时候下载还会过多的暂用内存。这里可以使用X-sendfile,该下载方法,不经过PHP,文件直接通过 Apache 下载。.htaccess Files out.php XSendFile on /Files out.phpisLoggedIn())
{
header("X-Sendfile: $path_to_somefile");
header("Content-Type: application/octet-stream");
1,简介ossutil是以命令行方式管理OSS数据的工具,提供方便、简洁、丰富的Bucket和Object管理命令,支持Windows、Linux、 Mac平台。通过ossutil,您可以进行如下操作:管理Bucket,如:创建、列举或删除Bucket等。管理Object,如:上传、下载、列举、拷贝和删除Object等。管理碎片(part),如:列举和删除part等2,相关文档OSS 官方文档 https://help.aliyun.com/product/31815.htmlossutil 文档 https://help.aliyun.com/document_detail/50452.ht
所有标签