分类目录归档:javascript

【Javascript】获取触发message事件的源iframe

翻了翻message事件的属性,没找到可以直接获取事件源iframe的属性,想想也没毛病,毕竟事件也可以是其它窗口post过来的。于是想了个曲线方法。

先让发送源获取焦点,然后获取焦点元素。

如果不想影响焦点的话,可以遍历一遍所有的iframe

 

【Javascript】base32编解码

用javascript写了个base32的编解码函数

【Javascript】清空数组

上面的清空方式虽然非常不合字面含义,不过还确实清空了。。。

 

 

 

这方法倒是符合字面含义了,不过这个操作会返回整个一个新的数组,所以可能性能不如上面的一种方法。

【Javascript】不要试图给字符串添加属性

虽然我以前就吃过一次这个亏,不过昨天又犯这错误了。

虽然js里万物皆对象,不过也不是啥对象都可以加属性的,比如字符串。

所以字符串是没法添加属性的,同理,数字、Boolean也不能添加属性。

我发现它们都是传值型变量诶。因为本体只有一个值,所以不能添加属性吗。

【Javascript】数字添加千分位符函数

这种函数虽然百度一大把,不过我还是准备自己用很简单的代码写一个。现在访客暴涨然后我发现了在线人数显示功能好多bug,修了一下午。这个函数也是为此功能而写的。

示例

 

【node】批量重命名音乐专辑内音乐文件名

这只是个便签博,方便以后再拿出来用。。

刚刚下了个LL大法的全套音乐专辑,(原谅我又盗版了),然后里面每个CD的音乐都是一如既往有编号的,不过我们放进自己播放列表的话并不需要这些编号,所以我要把它们去掉。

 

作为一个程序员,怎么能一个个手动改名呢,这简直是耻辱!

继续阅读【node】批量重命名音乐专辑内音乐文件名

【PHP】清理js文件

花了点时间好好做了个可以清理js文件的php脚本,php确实是个蛋疼的东西,老是出点奇怪的特性。

这个脚本的功能是去掉js文件里的无用部分,输出一个清洁的js文件(当然我不保证这个输出的文件绝对没问题,至少把我的COL放进去输出的文件没问题)

原理:
由于涉及到清理注释,又不能把引号误删,而且 " ' // /*这四个关键符号是同样优先级的,所以谁先出现,谁的优先级就会高(也就是其他符号都会进入这个符号的作用域里)

比如 " 先出现了,后面的 ' // /*都会被包括进这个字符串里,同样如果 /*先出现了后面的内容都会变成注释,除非碰到 */ 。

所以我用了个循环来根据先出现的符号进行相应操作。碰到引号就把字符串整个提出来放个锚,即可保持字符串内容,然后就不用再担心字符串的问题了。

继续阅读【PHP】清理js文件

setTimeout和setInterval的用法

由于我的js没有正规学习过,所以码东西的时候总会有一些新发现,这两天写弹幕播放器的时候我又发现了定时函数的新用法,于是来记录一下。

一开始我从w3school学习了setTimeout的基本用法,他的例子是这样的

于是我后来就一直用引号围起要定时运行的内容。。。。。
继续阅读setTimeout和setInterval的用法

Canvas文字绘制性能测试

做了个canvas文字测试,看看效果如何。
由于代码中包含了图片的base64码所以放在最后了,测试结果如下:

为了尽量准确一点,避免浏览器热身等原因我把测试放在循环里进行多次测试。
可见文字渲染确实是效率比较低的,不过这里还不是太明显。
这里的文字渲染还是无任何样式的,平常应用的时候不可能就这么用没样式的字,所以我还要再来一个有样式文字渲染测试。
继续阅读Canvas文字绘制性能测试

更方便的DOM选择器 querySelector

用过jQuery或者一些其它js库的少年们都应该知道他们都有自己的选择器,使用起来各种方便各种狂拽酷霸吊,简化了原本元素获取的许多麻烦。
 
用jQuery来举个例子,比如你要获取id为f_ck的元素(第一个)

这样就得到了元素的jquery对象(这么说是因为指针还被绑上了jquery的方法)
用传统的getelement的话会是这个样子

这么写明显长一点而且得到的只是个指针。
  继续阅读更方便的DOM选择器 querySelector

点点图床图片地址快速获取代码

我相信不止我一个人把点点博客当作图床用。。。。而且也一定会有像我一样一下就丢一大堆图片的,一定会有的!会有的!

使用方法是打开浏览器控制台把代码粘贴进去然后按回车,接着你就可以从控制台里复制出现成的带有图片标签的代码了,而不用一张一张复制源地址。

由于我从点点把图片一张一张搬过来太累了,所以写了这个代码,可以直接刷出所有图片的代码,由于点点自带jquery,我的工作也减轻了不少。

继续阅读点点图床图片地址快速获取代码

你真用对了PJAX?

这两天开始全面钻入制作佳佳空间的新版啦~

然后博主依然用着爱用的Pjax,于是经过我的仔细观察,我擦咧!

我发现我原来的pjax代码和没写一样!Pjax其实根本就没有起作用啊!
页面加载还是正常的加载,全文档载入一遍。

产生这种情况的原因我在这一次查找pjax使用方法的时候发现了,是因为你百度或谷歌pjax会出现很多种使用方法不一样的教程,这些教程没有写清楚对应的版本,所以当你去pjax老大哥的github那里下载一份pjax插件再百度上随便找一份参考,运气不好的话绝对搞死你。我就这么被玩了一晚上。。。。。

到白天我醒过来接着搞才发现中国也有个神码农改了个传说中的改进版出来,所以当你用原版插件配改进版的教程那你就悲剧了。

这里是中国帅哥welefen的介绍地址和github(插件似乎已经一年没有更新了。。),他在博客里也写道修改了一些参数,所以酿成了教程不兼容的杯具。

所以我要提醒大家,查询pjax一定要看清插件来源,没有标明的教程还是不要看了,免得浪费时间。而且插件作者那里都是有说明和下载的,对应就好。

【前端】知道你的浏览器显示区大小

实在没啥好写的来凑个数。。。

前端码农在做界面的时候有的时候需要知道窗口大小,特别是做响应式布局页面的时候需要看看大约多大合适,然后又使用的chrome或者其它没有这种特殊功能的浏览器,懒得另外装什么插件,于是你可以像我一样这么做。

首先按Ctrl+Shift+J或者其他你知道的方法调出控制台(不是系统控制台,是浏览器控制台),然后输入如下代码

然后改变你的浏览器尺寸,显示区的长宽就会出现在控制台里了。一般作业面只要知道宽,除非你的页面和win8风格一样是横过来的。。。