Javascript:万能的日期格式化函数

最近在工作项目中,用到了日期格式化,要求传到后台的日期格式必须是2012-02-02这样的。蛋疼的是Javascript都没有自己原生的日期格式化函数,只能自己写一个。

写的时候我就想写一个通用的,比如这次要的是2012-02-02,下次说不定就要2012/02/02或2012-2-2,总不能下次又写吧。

在发源代码之前,我要列举一下约定俗成的日期格式(也就是Windows系统日期与时间的格式),如下: Continue reading

Javascript基础纪要:判断是否是数字

本文属于《Javascript基础纪要》系列文章(以后会给出目录).

在JS中,在判断一个变量是否是数字时,最快的方法是:

1
typeof v === 'number'

如果是如此简单,那么本文就没有存在的必要了.这里的坑在于,通过new Number(1)这样创造的数字,用typeof判断时会得到object而不是number(虽然几乎没人会用这种蛋疼的方法来创建数字…). Continue reading

国美的搜索框总是用不了,难道国美一直没发现?

自从东哥泡了奶茶,京东有了很多变化:把39起包邮提高成了59才包邮;商品价格也逐渐成了在线商城中最高的。所以我就再也没去京东了,去其他一些在线商城逛了。

自从在国美在线买了一个冰箱——其实,我是到国美电器实体店里去看了,再在网上下的单——我就发现国美也许是迫切想发展电商的原因,他上面的优惠往往比京东实在,但是,他有个很大很大的BUG——搜索框没法用

表现为你点不进搜索框,然后就没法输入,就没法搜索了。出现的页面我没研究过,有时候首页都是这样。在你想搜索的时候,有50%会发现点不进搜索框!

我用的是chrome。这已经不是bug了,这恐怕会严重影响国美的生意吧。

奇怪的是国美一直没发现,一直没改进,呵呵

HTML5的postMessage使用记要

HTML5提出了一个新的用来跨域传值的方法,即postMessage(这个名字太通俗了所以你最好看看是不是自己写过一个同名的把它覆盖了)。幸运的是IE8就开始支持了。

我们假设有两个网站,1.com与2.com,我在1.com的页面上通过iframe或window.open或超链接打开了一个2.com的网页,此时我要在2.com上做操作的时候,给1.com传值,让1.com有所变化。这个过程就是个跨域的过程。

如果你对window.open熟,你就会知道通过window.open打开的网页(我们称之为子网页),可以通过window.opener对象,访问到把它打开的页面(父网页),这样一来,调用父页面的函数就是非常简单的事了。但是,在跨域的条件下,window.opener就成了一个空对象,“没有权限”,浏览器会这么告诉你。 Continue reading

Javascript拼接HTML字符串的方法列举及思路

拼接字符串的方法介绍

字符串拼接基本上在任何编程语言中都是非常普通而常用的功能,Javascript里也是如此。其中对HTML字符串的拼接算是比较难的,我就经常被大量的属性及引号的嵌套搞得苦不堪言。

常规但很不好用的方法

下面是一个最常用的拼HTML字符串的写法:

1
var li = '<li class="li '+dd.class+'" id="li+'+i+'"><span>'+dd.text'</span></li>';

这种方法是最好理解的(同时也可以说是执行效率最高的),但缺点也很明显:繁琐,非常容易出错,维护起来麻烦,而且代码几乎没有重用性,即使下次碰到长得差不多的还是得重写拼的语句。
Continue reading

猎豹免费wifi,不好用啊

按理说对于这样一款不收钱,而且方便小白用户的软件,我不应该鸡蛋里挑骨头的,不过他有个最大的问题让我不得不卸载了他。

当退出猎豹免费wifi后,以前所有你曾经连接过的无线网络全都要重新输入密码,重新连接--不知道为什么,密码全没了,即使你以前天天连。

如果碰巧你记不得你想用的这个wifi的密码了,那么你就悲剧了。

就算你记得,重输一遍也很麻烦啊!!

每天我到公司,连的是有线,然后用它开启wifi共享;回家后,我连的是无线,就把他关了---然后我就要重新输入家里wifi的密码重新连!!你妹!

QQ发网址或代码变成了表情

作为一个技术人员,经常需要用QQ发些网址或代码与其他人交流.但如果不凑巧你发的代码里有/开头的一些特定字符,QQ就会给你解析成表情,这让代码根本没法读了.在发送大段代码时,这种情况更容易出现.

实际上要解决这个问题很简单,只要在QQ聊天窗口你输入文字的地方右键,取消”使用快捷键输入表情”前面的勾勾,然后你发的网址,或者代码,就是纯文本了,不会再被转换成表情.

Javascript:来一个AJAX封装函数

前不久换工作了,最近一直在出差,忙得跟狗一样,所以博客都荒废许久了.

最近的工作中涉及到大量的ajax操作,本来该后台做的事也要我来做了.而现在使用的ajax函数是一个后台人员封装的—-但他又是基于jquery的ajax,所以离开了jquery这个函数就毫无作用了.而且我觉得,jquery的ajax方法是很完善的了,可以直接用,如果都有jquery了,那么他的ajax就不用白不用了.我缺少的是一个能在没有jquery的情况下使用的ajax方法.

所以我也花一天时间写了一个,参数与调用方法类似于jquery的ajax.就叫xhr吧,因为xhr=XMLHttpRequest.
Continue reading

html5 Canvas画图教程27:isPointInPath

本文属于《html5 Canvas画图系列教程

这篇文章写得有点晚了.原因?因为我写着写着就忘了有这一茬还没写….

canvas的isPointInPath是一个非常重要的函数,其作用是判断某一点是否是在某个路径内.其语法如下:

context.isPointInPath(x,y)

其中很明显,x和y就是一个点的坐标了.

canvas有个致命的缺点就是本身缺乏交互性,比如这个问题:

问题1:我画了一个黑圆,想让鼠标经过的时候颜色变红,鼠标移出后又变回来 Continue reading

google站长工具真实用

要想网站收录好,google的站长工具几乎是每个搞网站的都要用到的。这几天在修补脚儿网的一些不足,顺带发现了google站长工具的一些实用功能。

1,删除网址功能

此功能在站长工具-选一个网站-左边菜单栏的“Google索引”栏目下。他的作用就是删除你的网站已被收录但你不想google收录的网址。

为什么我会用到这个功能呢?因为我发现site本站的时候,大部分标签的索引排名比我文章还高,而从google进入本站的人从来都没有点标签进来的。我怀疑这些标签页的索引很可能会降低本站文章内容页的权重,所以我想删除对标签页的索引 Continue reading