- 博客(43)
- 收藏
- 关注
原创 通过fetch请求下载文件(各种不同类型的附件)
一个通过fetch请求下载文件的方法,记录一下//url:完整附件地址 filename:文件名称(通常两者都是接口返回)downLoadByFetch(url, filename){ fetch(url,{ method: 'get', mode: 'cors' }).then(blob => { let a = document.createElement('a') let newUrl = window.
2021-06-29 18:20:41
2914
原创 react-native 安卓系统和ios系统样式兼容性整理(未完待续)
初次接触rn,记录一下小坑1.text 写按钮圆角设置 安卓展示正常,ios会变成椭圆形? 解决方法:设置text的宽高和lin,不能使用padding来撑高容器2.text的border在ios不起作用需要在外包一个view标签方可实现border出现3....
2021-03-26 15:26:27
730
原创 雅虎前端优化14条规则
1.减少HTTP请求数 常用的方法,合并css,js(将一个页面中的css和js文件分别合并)以及Image maps和css sprites等。2.使用CDN(内容分发网络) 通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的cache服务器内,通过DNS负载均衡的技术,判断用户来源就近访问cache服务器取得所需的内容。3.添加Expire/Cache-Control 头 Expire其实就是通过header报文来指定特定类型的文件在浏览器中..
2020-08-22 11:35:17
356
原创 js链式调用
链式调用在JavaScript 语言界很常见,如jQuery 、Promise 等,都是使用的链式调用。链式调用可以让我们在进行连续操作时,写出更简洁的代码。简单的实现代码如下:function Person() {}Person.prototype.name= function(name) { alert("my name is "+name); ...
2020-04-09 15:58:28
262
转载 模块化开发的CMD和AMD区别
AMD 是 RequireJS 在推广过程中对模块定义提出的概念。CMD 是 SeaJS 在推广过程中对模块定义提出的概念。RequireJS 和 Sea.js 都是模块加载器,倡导模块化开发理念,核心价值是让 JavaScript 的模块化开发变得简单自然。不同之处两者的主要区别如下: 定位有差异。RequireJS 想成为浏览器端的模块加载器,同时也想成为 Rhino / ...
2020-04-08 17:02:43
299
原创 前端工程化浅识
最近看了很多关于前端工程化的文章,记录一下自己的简单理解。前记(废话):日益复杂的前端业务已经前端技术的飞速发展,现在已经不是刚刚兴起时的html+css+javascript以及搭配一个的jquery就走遍天下的时代了,各种前端mvvm框架,ui库,各种轮子,造轮子能力,打包工具,前端测试工具。。。并且还在不停地更新,前端这个曾经被误认为最低门槛的岗位,变得日益“不凡”。开发一个项目需要更完...
2020-04-08 16:42:46
201
转载 Async/Await与Promise区别
自从Node的7.6版本,已经默认支持async/await特性了。如果你还没有使用过他,或者对他的用法不太了解,这篇文章会告诉你为什么这个特性“不容错过”。本文辅以大量实例,相信你能很轻松的看懂,并了解Javascript处理异步的一大杀器。初识Async/await对于还不了解Async/await特性的同学,下面一段是一个“速成”培训。Async/await 是Javascr...
2020-04-08 15:55:08
2550
转载 js控制最大并发请求实现,promise
背景通常,我们在需要保证代码在多个异步处理之后执行,会用到:Promise.all(promises:[]).then(fun:function);Promise.all可以保证,promises数组中所有promise对象都达到resolve状态,才执行then回调。这时候考虑一个场景:如果你的promises数组中每个对象都是http请求,或者说每个对象包含了复杂的调用处...
2020-03-11 15:45:25
6826
1
原创 判断某个变量是否为数组(判别其它类型可类比某些方法进行)
自己整理的比较简单和常用的三种方法去判断某个变量是不是为数组第一种方法 instanceof:function checkIsArray(arr){ return arr instanceof Array;}第二种方法 直接使用array的一个方法 =>isArray:function checkIsArray(arr){ return ...
2020-03-04 18:13:11
212
原创 数组内的对象去重(基于对象的某个字段)
一.非es6方法://去重方法function filterSame(arrays){ var obj = {}; var newArrays= []; for(var i =0; i<arrays.length; i++){ if(!obj[arrays[i].id]){ arrays.push(arrays...
2020-02-12 18:14:27
404
原创 前端要持续监听事件的性能优化(节流/防抖),scroll方法为例。
以滚动事件为例吧,移动端要实现一个简单的滚动到底部加载下一页的需求,就需要监听页面的scroll事件了代码如图:let timeOutFn = false; //$(window).scroll(function () { //监听窗口的滚动事件 clearTimeOut(timeOutFn); //100毫秒内仍然执行滚动就把需要执行的逻辑清除掉,停下来在执行具体函...
2020-01-09 12:59:25
2313
原创 react配置路由的时候地址栏的井号(#)去除方法,新方法。
今天在搭建框架的时候使用了router之后,地址栏的#号很碍眼,查了资料后发现react-router的新版本不能直接import browserHistory方法去解决这个井号,找到了这个方法:把history的改为这个就ok的了,很简单,做一次记录。...
2020-01-03 12:12:52
6444
3
原创 canvas的图片与img图片互转(生成base64编码的图片)
canvas图片转img标签的base64编码地址 js代码片段如下://从网页中的canvas标签中提取图片function convertCanvasToImage(canvas) { var image = new Image(); // canvas.toDataURL 返回的是一串Base64编码的URL // 指定格式 PNG ...
2019-10-08 14:47:43
948
原创 一个超级简单的Python爬虫例子
首先要安装两个库(requests、BeautifulSoup)爬了中国旅游网的某一条消息import requestsfrom bs4 import BeautifulSoupurl = "http://www.cntour.cn/"page=requests.get(url)soup = BeautifulSoup(page.text,'lxml')//dom节点位置d...
2019-09-23 16:31:11
894
原创 iPhone手机上h5页面输入内容后,失去焦点页面底部有空白问题解决
这真是一个cd的问题,这ios也太傲娇了吧在页面的input框输入完成后,它竟然就挂在那里了,底部的按钮一直在屏幕的中部,多出了一大块空白,要手动滑动几次才能回复正常,不自动归位,真的cd。解决办法如下:jq方法:$("input").on("blur",function(){ //设置屏幕滚回到顶部,很简单很粗暴 window.scroll("0,0");})事情就...
2019-08-08 11:10:02
1969
原创 通过递归的方法使用setTimeout模拟setInterval行为
今天在优化项目的代码时候用到了递归方法,然后看到网上一个有趣的题目:怎么用setTimeout模拟setInterval行为?感觉挺过瘾的,就去实现了一下,果然有趣,直接上代码吧://实现的方法挺简单的 ,如下代码//参数: 毫秒 需要执行的方法function setInter(s,fn){ let timeOut = (s,fn)=>{ setTimeou...
2019-07-03 17:54:08
3915
原创 关于使用display:flex的弹性布局,结合js实现最后一行自动左对齐(跪求纯css实现的方法)
一个考验基本功的功能,而我现在也才用了最流行的一种方法,希望看到的有思路的可以写下自己的做法,一整段代码如下:实现思路:通过获取父元素的宽度以及子元素宽度进行一系列计算,补齐最后一行,达到justify-content:wrap的时候,依旧完美左对齐<html> <head> <title></title> ...
2019-06-28 18:22:41
1324
1
原创 react改变this.state的对象里面的值的方法
//伪代码this.state={ person:{ sex:'', age:'', }}//改变state内部值changeState=(type1,type1_child,data)=>{ let state = {...this.state} state[type1][type2] = data this.setState({ ...
2018-11-20 17:08:45
5986
原创 react的识别html标签输出
初学react学习到的,方法很简单,如下:str = `<p style="color:red">输入正常的文字</p>`<div dangerouslySetInnerHTML={{ __html: str}} />输出结果:输入正常的文字...
2018-09-11 15:39:59
4479
转载 根据经纬度,计算地图两点之间的距离(可在高德地图api接口验证结果是否正确)
function getdistance($lng1,$lat1,$lng2,$lat2){ //将角度转为狐度 $radLat1=deg2rad($lat1);//deg2rad()函数将角度转换为弧度 $radLat2=deg2rad($lat2); $radLng1=deg2rad($lng1); $radLng2=deg2rad($lng2); $a=$radLat1-$radLat2; ...
2018-06-25 10:32:50
11315
原创 php post请求,参数数据格式为json
function curlPost($url, $post_data, $json){ $ch = curl_init(); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_URL, $ur...
2018-05-11 16:17:46
4328
原创 php把数据输出为word,并且数据中的img可显示
$case_title1 =“abc”;$content = "catwoe<span>implement<img src="http://www.baidu.com/04_20170109164233.jpg" alt="" /></span>"$content = str_replace("src=\"/", "src=\
2018-04-09 16:24:27
447
转载 js三种创建对象的方法
javascript是一种“基于prototype的面向对象语言“,与java有非常大的区别,无法通过类来创建对象。那么,既然是面象对象的,如何来创建对象呢?一、通过”字面量“方式创建。方法:将成员信息写到{}中,并赋值给一个变量,此时这个变量就是一个对象。例如: var person = (name:'dongjc', work:function() {console.log('write co...
2018-04-02 16:37:41
200
原创 ci框架的controller调用 公用函数,研究了一下
如题吧,今天使用ci做后台业务的时候,想封装一个公用函数,方便整个模块调用,发现了一个比较快捷的方法:之前就一贯思维,model只写与数据库的交互,后来发现原来可以把公用的封装好的函数放到这里的!!!!!,然后controller那边调用(因为不推荐调用controller调用本身里面的函数)。然后就很迅速怼了出来了。实例代码如下:model.phpfunction delete_file($id...
2018-03-30 17:18:28
2084
原创 通过jquery动态设置下拉框select的选中值option
虽然简单,但是用得比较少,自己按照select的选中原理,直接撸出来,然后做出跟百度出来的结果对比了一下,发现百度出来的东西太繁琐了,效果实现了,但是本着代码要简洁的心,我还是用了自己的方法,记录一下结构如下:<select> <option class="option-1">广东</option> <option class="option-...
2018-03-30 10:29:11
13504
2
转载 mysql事务详解和实例讲解
MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务、行级锁、并发 3.Berkeley DB:支持事务 一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行。换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的。如果在事务的任何操作失败,则整个事务将失败。实际上,...
2018-03-29 01:16:50
663
原创 IE浏览器使用get去获取数据时会使用缓存的数据作为结果
1.缓存问题? IE浏览器提供的ajax对象在发送get请求时,会查看请求地址是否访问过,如果访问过,则显示第一次访问的结果(也就是说,会将第一次访问的结果缓存下来,下次直接使用,不会判断数据是否改变)。2.解决方法 1).数据获取方式由GET方式改为POST方式; 2).仍然使用GET去数据获取,但是地址后面加上随机数(使得浏览器不认为是同一个地址),例: a. v...
2018-03-23 10:59:52
1302
2
原创 handlebar.js模板使用方法简记
之前在项目中用到的一个模板引擎,用起来挺简单的,也还不错1.引入模板<script src="../js/handlebars.js"></script><div class="this-site"></div>2.生成模板<script type="text/template" id="list_tpl"
2018-03-20 14:09:44
560
转载 普通方式绑定事件 和 用ADDEVENTLISTENER 添加事件有什么区别
1、onclick添加事件不能绑定多个事件,后面绑定的会覆盖前面的。2、addEventListener方式,不支持低版本IE。3、普通方式绑定事件后,不可以取消;addEventListener绑定后,可以用removeEvenListener 取消;4、addEventListener的用法:target.addEventListener(type, listener, useCapture)...
2018-03-15 10:55:43
510
转载 跨域处理
首先了解下浏览器的同源策略同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。那么怎样解决跨域问题的呢?1 通过jsonp跨域,原生实现:<scri...
2018-03-13 21:04:46
222
原创 w3c标准
W3C的标准到底是啥?1、图片的alt="" 属性必须每张图片都加上,而且对齐属性用CSS来定义。不加不能通过XHTML 1.0的验证。 2、每个文档必须加上DTD声明。 a) !DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transiti...
2018-03-06 17:17:24
401
原创 通过css设置文字不能被选中
通过简单的css设置页面的文字无法被选定。<div class="select">我不能被选中复制</div>.select{ -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none;}通过上面的css就能设置,div里面的文...
2018-02-26 10:09:59
24704
转载 简单的checkbox多选框样式修改(纯css3)
今天在做项目的时候有需要用到多选框,并且因为ui的关系,需要稍微美化一下多选框,所以找到了实现方法,挺实用的,不需要脚本就能实现。前端布局如下:<input class="select-tag-input" type="checkbox" id="tag-id"style="display: none;"><label class="tag-label" for=&q
2018-02-26 10:05:13
5614
转载 js相关的localStorage 设置、删除,过期操作
<script type="text/javascript"> //封装过期控制代码 function set(key,value){ var curTime = new Date().getTime(); localStorage.setItem(key,JSON.stringify({data:value,time:curTime})); ...
2018-01-29 15:23:49
11187
转载 php获取两个日期之间的间隔天数
php$datetime1 = date_create('2018-01-25'); //格式化日期$datetime2 = date_create('2018-01-13'); //格式化日期$interval = date_diff($datetime1, $datetime2);echo $interval."";echo $interval->format('%R%a da
2018-01-25 16:09:04
3509
转载 css背景色渐变
#grad { height: 200px; width:500px; background: -webkit-linear-gradient(left, #338fdd , #14d3e3); /* Safari 5.1 - 6.0 */ background: -o-linear-gradient(right, #338fdd, #14d3e3); /* Op
2018-01-23 13:54:32
252
原创 js去除字符串中的所有空格(包括前后,中间存在的所有空格),清除前后空格(手机输入框实用),es6新方法
一、js去除字符串中的所有空格: str = " hello world ! " str.replace(/\s/g,""); 感觉很好用。二、去除左右空格:rtrim =(str)=>{ //删除左右两端的空格 return str.replace(/(^\s*)|(\s*$)/g, "");}以上是正...
2018-01-17 16:28:55
47590
7
原创 css解决含不同字数的相同宽度的多个盒子,自动排列对齐(基础实用)
文本2端对齐 - flex *{padding: 0;margin: 0;}html,body{height: 100%}ul{list-style: none;}.plist { position: relative; padding: 9px 15px; background-color: #fff;}.plist .plist-
2018-01-05 14:02:29
7045
2
转载 php获取url根目录,传值参数,完整url
#测试网址: http://localhost/blog/testurl.php?id=5//获取域名或主机地址 echo $_SERVER['HTTP_HOST'].""; #localhost//获取网页地址 echo $_SERVER['PHP_SELF'].""; #/blog/testurl.php//获取网址参数 echo $_SERVER["QUERY_STRING"].""
2018-01-04 10:25:58
4057
转载 php获取当前时间,计算一天,一周,一月,一年后的时间
"code" class="php">header("Content-type: text/html; charset=utf-8"); echo '当前时间加一个月,一个礼拜,一天,一小时,15分钟这里测试'; echo ''; echo '当前时间是'.date('Y-m-d H:i:s',time()); $now = date('Y-m-d H:i:s',ti
2018-01-03 14:53:13
18489
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人