javascript
文章平均质量分 60
宁无竹
这个作者很懒,什么都没留下…
展开
-
通过user-agent获取用户的手机品牌,最全
获取ua对应的手机品牌1、当前市面上最全2、欢迎大家提供ua线索安装Vuenpm install pingansec-brandua其他dist/brandua.min.js 你懂的用法//非vue 省略这行import BrandUa from "pingansec-brandua";BrandUa.getBrand('Android HUAWEI');GitHubhttps://github.com/suxianbaozi/phonecheck...原创 2021-04-29 21:00:07 · 2300 阅读 · 2 评论 -
自动调整字体大小适用容器宽度
自动调整字体大小适用容器宽度经常遇到标题里的内容不固定的情况,用三个点来兼容,效果还不是太完美,如果,文字太多,字符自动变小,就可以很完美的解决问题1、首先我们需要有一个方法获取字符占用的宽度,通过字符的长度来计算肯定很不准,正好canvas有这个方法measureText,需要指定字体2、然后我们需要一个循环来不断的尝试 我们能用的最大字体是多少ok 上代码export let AutoShrink ={ getMaxFontSize:function (text,containerWi原创 2020-09-01 19:21:40 · 873 阅读 · 2 评论 -
一个手机控制网页的例子
用手机通过websocket和网页进行通信,中间利用二维码进行验证地址:http://www.moosun.cn/card/原创 2014-02-08 15:20:45 · 1706 阅读 · 0 评论 -
我们来谈谈promise,讨论一下如何优雅的避免多层回调嵌套的问题
我们知道,javascript是没办法阻塞的,所有的等待只能通过回调来完成,这就造成了,回调嵌套的问题,导致代码乱到爆举个常见的例子,一个验证问题,通过本地cookie中的uid,从服务器A获取一个key,然后从服务器B获取token,最终拿到这个token去服务器C获取用户的信息这儿有三个api接口,分别是//获取key接口var apiKey= 'http://a.api原创 2015-11-12 12:11:03 · 8193 阅读 · 2 评论 -
10大需要注意的web app问题
Don't generate the UI on the server 不要在服务器上处理uiLimit network access 尽量减少网络操作Don't wait for the data to display the UI 不要因为等待数据而延迟显示uiUse hardware acceleration 使用硬件加速Avoid click event's 300ms delay 不要使原创 2015-11-13 12:17:28 · 935 阅读 · 0 评论 -
js如何判断函数或者方法中的this指向谁?四句话
1.谁作为拥有者调用它就指向谁function a() { console.log(this); }var b = {};b.hehe = a;b.hehe();//这时候this指向b//常见的就是绑定事件2.bind谁就指向谁function a() { console.log(this); }var...原创 2016-01-13 18:39:35 · 5112 阅读 · 0 评论 -
完美实现javascript继承
js的继承 主要是继承两个部分一个是写在函数体内 通过 this 定义的方法和属性代码function parent(){ this.name = 1; this.fuck = function(){ }}继承这种方法需要在初始化的时候进行继承,我看许多其他的例子 是通过实例化之后 进行处理,我觉得这样写 就没有继承的样子了所原创 2016-04-12 15:16:12 · 587 阅读 · 0 评论 -
浅谈网上流传最多javascript继承方法的不足之处
我们知道javascript的继承方式只能通过自己来实现,网上流传了许多的版本,常见的版本如下function Parent(){ this.gogogo = {}; this.name = 'hehe';}Parent.prototype = {};function Child(){}Child.prototype = new Parent();原创 2016-04-20 15:00:15 · 437 阅读 · 0 评论 -
如何将ajax得来json数据快速展示到html代码中?绝对干货
俗话说,分久必合,合久必分什么东西都阻挡不了大势,俗话说,大势所趋就是这个道理在多终端的环境下,以前让服务端比如php那些煞笔在页面上直接输出数据的年代早就过去啦,什么?你们还这样做?那就有人要问了,那现在流行什么呢?请容我细细道来那就是数据和前端绝对的分开,服务器只负责提供 一串json数据,至于数据怎么展示,就交给前端啦,所以一个原创 2015-12-29 16:24:24 · 38713 阅读 · 2 评论 -
一个用python写的websocket服务端
由于要在页面上调用后台的一个shell程序,但是这个shell执行时间很长,如果异步获取shell的输出?而不必漫长的等待shell执行完毕才会一下把数据全部输出?我们知道原生的http协议不可能完成这个要求,除非你把输出更新到一个文本里,然后用js伦询去取,这不扯淡吗因为是内部的程序,当然有这样要求的程序基本都是内部,或者小团体使用,所以,尝试一下websocket吧先研...原创 2012-11-28 17:30:23 · 16167 阅读 · 4 评论 -
微信小程序在 小于 ios 8 的情况下,内置的promise包无法使用解决方案
引入外部的promise没有现成的,没办法,自己写一个喽function promise(toWait) { this.t = new Date(); this.isPromiseObject = 1; this.toWait = toWait; this.thenList = []; this.thenIndex = 0; this.res = function (da...原创 2018-05-12 10:13:47 · 1363 阅读 · 0 评论 -
前端移动开发屏幕自适应的最好办法
前言因为移动端屏幕尺寸大小不一,前端开发的时候,往往根据psd大估摸的进行开发,利用百分比进行兼容这样做出来的页面和psd可能非常不一样,且开发缓慢 目的1、开发者只需要量取psd的尺寸直接写到css中,无需考虑屏幕兼容2、系统根据屏幕大小自动生成相应的css尺寸,小屏自动缩放,大屏自动放大,完全和psd相同 解决方案我们在写css的时候在相关尺寸的地方换一种方...原创 2018-07-17 18:18:01 · 2241 阅读 · 0 评论 -
居民个人综合所得预扣预缴税款的计算方法javascript源码
神马?新版个税太难算了?下面的代码帮助你一步完成<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><bod原创 2018-12-28 13:39:34 · 1040 阅读 · 0 评论 -
新浪微博私信,即时聊天接口研究
由于要写个chrome插件来进行发发私信什么的 你懂得,,,,由于是个插件,就不要去研究模拟登陆啦,cookie问题不用考虑,可以用ajax任意访问weibo的所有地址但是如果两人从来没有交流过,那么第一次发私信是要过验证码的但是有种情况不需要,那就是用新浪的im,就是右下角的即时聊天的那个玩意,研究发现,如果需要调用者个即时聊天的接口,需要如下几个步骤原创 2013-08-22 15:40:11 · 5688 阅读 · 13 评论 -
一直想写个js模板,现在终于写了个简单的版本,后续会增加更多功能(依赖jquery)
js模板原创 2013-12-18 17:54:16 · 1167 阅读 · 0 评论 -
Node.js初体验
用了下node.js我用的ubuntu 所以安装 就是一条命令 sudo apt-get install nodejs第一感觉就是 搭个服务好方便,比python 还要简洁,而且性能是非常牛逼一个http的servervar http = require('http');http.createServer(function (req, res) { res.wri原创 2012-11-22 14:47:12 · 804 阅读 · 0 评论 -
图片压缩上传
1.采用flash,你不必懂flash,会js就好2.可配置3.图片可压缩4.图片不会丢失exif噢5.合理利用带宽代码在这儿:https://github.com/suxianbaozi/upload_fast原创 2013-03-25 21:15:16 · 1799 阅读 · 0 评论 -
jquery中.each的实现方法
Array.prototype.each = function(callback) { for(var i=0;i<this.length;i++) { callback(i,this[i]); }}[1,2,3,4].each(function(index,item) { alert(index); alert(item);原创 2013-03-25 21:16:47 · 1097 阅读 · 0 评论 -
解决js绑定事件this指向发生改变的问题
可对函数进行如下扩展 Function.prototype.bind = function(obj) { var _this = this; return function() { _this.apply(obj,arguments); }}用法如下var a = function(){原创 2013-04-23 10:51:48 · 1784 阅读 · 0 评论 -
javascript 深度copy对象(json,array etc..)
//deepCopy function deepCopyJson(obj,temp) { if(typeof(obj)=='object') { if(obj instanceof Array ) { if(!temp) { temp = new Array(); } var len = obj.length; for(var i=0;i<le原创 2013-05-06 12:42:42 · 1298 阅读 · 0 评论 -
让ie6也支持websocket
ie9都不支持websocket,何况ie6,但是websocket能开发那么酷的功能,怎么能让ie拦住我们的脚步?但是怎么办?用flash封装吧具体的flash代码如下:package { import flash.display.Stage; import flash.display.Sprite; import flash.event原创 2012-12-26 15:24:17 · 3987 阅读 · 4 评论 -
关于有些MP3不能在safari上快进的问题
mp3 的编码格式有三种ABR CBR VBR啥东西不细说,但是有点区别 VBR是最完美的编码格式 编码速率 动态变化CBR是比较老的格式 编码速率 不变 ABR前两者之间 但是一些老的播放器对VBR的支持不是很好 关键点来啦,VBR在safari的audio播放器里不能快进,对audio设原创 2013-06-27 09:39:56 · 2553 阅读 · 0 评论 -
记一次js中和php中的字符串长度计算截取的终极问题和完美解决方案
1.js是用unicode算长度的,比如单字节的算1,中文也算1,但是正常我们想让两个单字节算1,如何计算这个长度第一种解决方案,用正则,如下 /[\u0x00-\u0xff]/,天真的想着,这样就可以匹配所有unicode在这个之间的了,但是,这个正则不匹配标点符号,比如空格,逗号,不知道为什么,所以,只能去遍历charCodeAt了 代码如下:function getStrin原创 2013-07-12 12:54:48 · 1730 阅读 · 0 评论 -
一个audio标签在各浏览器上各种不兼容,各种小毛病,现在还是flash最靠谱
如果你想搞音乐播放,还是flash吧,不用搞什么非ie用html5吃了无数苦头,最终妥协我用的是jplayer原创 2013-07-01 14:08:29 · 1578 阅读 · 0 评论 -
火狐textarea输入法的bug
在firefox中,如果一个textarea获取焦点,在输入法激活的状态,比如搜狗输入法,敲入一个汉字的第一个拼音的时候,如果这个时候 后台js将该textarea的value修改,那么该textarea会直接被清空,如图 在这种状态,如果js修改textarea的值,就会触发改bug,如何解决这个问题?经过多次尝试,发现只有在js修改value的时候,将该textarea原创 2013-07-24 12:22:20 · 1621 阅读 · 0 评论 -
同步到第三方网站的设计架构
经常要做到分享到其他网站的情况,新浪,renren,qq空间,豆瓣等等如果不好好设计,就会变得越来越乱这里简述一下我的设计过程,以及如何解决由于最先只涉及到新浪微博,所以上来下载新浪的sdk,绑定的时候,取sina的登陆url然后设置个回调地址,将token存到数据库分享的时候,从数据库中去得token,然后调sdk的update将内容分享到新浪微博,ok,原创 2013-08-05 12:06:33 · 1717 阅读 · 0 评论 -
对js的类进行面向对象扩展,我已经完成,希望高手来探讨
js不好继承,用的时候都是一些很奇怪的方法,比如call,再比如如下function a(){this.b = 1}function b() {this.parent =a;this.parent();delete this.parent;}然后再prototypefor() {xxxx}看起来好丑原创 2013-08-27 22:58:09 · 955 阅读 · 0 评论 -
js闭包的一个小问题
如下 两端代码function a(){ var b = 1; window.setTimeout(function(){ //用定时器来触发就不搞按钮啦 alert(b); },3000); }a();function a(){ var b = 1; window.setTimeout(function(){ //用定时器来触发就不搞按钮啦 al原创 2013-09-12 10:59:17 · 1002 阅读 · 0 评论 -
鉴于php的print_r比较好用,而且js没有,,哥写了个。。。。
<!--var my={ str:'', deep:0, block:' ', get_pre:function(n) { pre=''; for(i=0;i<n;i++) { pre+=this.block; } return pre; }, show_obj:function(obj) { for(k in obj)原创 2012-11-09 17:20:55 · 1229 阅读 · 0 评论