jwplayer的一些心得

过年的时候阿里微信的红包大战打的火热,产品也准备蹭个热点,搞了一个活动页,仿阿里的咻一咻。

声音播放用的是jwplayer,有点杀鸡用牛刀的感觉,没办法,特殊原因必须需要支持Chrome/25.0.1364.172,<audio>如此方便的标签只能看不能用,让我先哭会去。

Read More

Grunt配置的相关备忘

备忘一:

路径规则:

path/to/js/*/.js

匹配 path/to/js/ 及其子目录下所有的js文件,**匹配path/to/js/的0个或多个子文件夹。

备忘二:

css合并:

需要插件grunt-contrib-cssmin和grunt-contrib-cssminconcat,通过以下配置进行合并

1
2
3
4
5
6
useminPrepare: {
html: 'index.html',
options: {
dest: 'temp/'
}
}

Read More

Node.js的模块加载顺序

Node.js的模块的载入及缓存机制如下:
1)载入内置模块(A Core Module)
2)载入文件模块(A File Module)
3)载入文件目录模块(A Folder Module)
4)载入node_modules里的模块
5)自动缓存已载入模块。

如果模块名不是路径,也不是内置模块,Node将试图去当前目录的node_modules文件夹里搜索。如果当前目录的node_modules里没有找到,Node会从父目录的node_modules里搜索,这样递归下去直到根目录。
可以在项目目录下使用 node 命令(已在路径C:\Users\xxx>为例),然后输入 global.module.paths查看Node.js加载node_modules模块的顺序。

Read More

跨域问题

今天需要做一个本地测试,html中的js涉及通过ajax跨域拉取数据的问题,在Chrome中的控制台报错:

1
XMLHttpRequest cannot load http://www.xxxx.com/Data/GetUserInfo. No'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null'is therefore not allowed access.

Read More

关于 CommonJS AMD CMD

CommonJS

CommonJs 是服务器端模块的规范,Node.js采用了这个规范。

根据CommonJS规范,一个单独的文件就是一个模块。加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象。

Read More

Xcode程序本地化设置

对于Xcode中实现程序的本地化花了点时间做了简单地了解。
首先Xcode中实现本地化有两种机制:

一种是Use Base Internationalization

另一种则是不用

前者是后来苹果改进后的做法,所以现在创建的默认程序都是用的Use Base Internationalization的方法,官网中老的demo则都是第二种方式。两者相结合使用,则会更灵活地实现需要的效果。
两则的区别是Use Base Internationalization后,会创建Base.lproj的文件夹,然后把相关的xib文件都放到里面。而翻译的内容则会放到对应语言的lproj文件夹中,如英语,则在en.lproj文件夹中又对应xib的strings文件,只要在这里面做对应的翻译即可。
而第二种方式,更直接,但是会更占空间,对应语言的文件夹(如en.lproj)中将会多出一份在Base.lproj文件夹中的xib的copy,所有的翻译都在xib上进行即可。(也可以重新调整界面)

Read More