偶火星了,更新了google的工具栏到7.0.20091216Lb1,发现多了一个牛x的分享功能。许多网站(包括renren)都提供了一个可以分享站外内容的书签,但是已经安装了google的工具栏,再开一个书签栏就太占地方了。这个按钮终于解决了这个问题,而且可以分享到n个站点。


列表里的人人网是我后来添进去的,默认列表里是没有的,一水的e文网站。工具栏还没有提供一个直接添加的方法,但是可以直接修改列表文件。列表文件位于:
~/.mozilla/firefox/这个目录名因人而异/GoogleToolbarData/components/share_providers.json
—————————-
补充:或直接找
cd ~/.mozilla
find ./ -name "share_providers.json"
#你会找到两个,覆盖我给的那个路径就可以
Copy Code
—————————-
可以直接下载偶修改好的文件:share_providers.json
曾经的分享按钮一直被冷落在菜单里:

有趣的缩写I18N,L10N及延伸知识 | EricBess WebHome.
牛x的缩写。。
话说国际化还是挺重要的,应该做好准备,说不定哪天人人网会出个英文版。。。
又火星了~
<html>
<script>
function log( str )
{
if ( window.console )
{
console.log( str );
}
else
{
alert( str );
}
}
var reg = /^\s*$/g;
log( reg.test( ' ' ) );
log( reg.test( ' ' ) );
var reg = /^\s*$/;
log( reg.test( ' ' ) );
log( reg.test( ' ' ) );
</script>
</html> Copy Code |
Run Code
加了g参数后test的行为类似exec了
http://www.w3school.com.cn/js/jsref_obj_regexp.asp
适用:页面使用大量的js做交互和ajax,然而又不像gmail,一次加载之后不会刷新页面,所以如果引入大量js就会拖慢页面的加载速度。这时如果只加载每个页面都需要初始化的js,其他js只有当需要时才动态加载进来,就会大大提高页面加载速度。
动态加载的方法:
//示例代码
dynamicLoad = function( file )
{
each( file.funcs , function( i , func )
{
//为可能用到的函数声明一个同名的代理函数
window[ func ] = function()
{
var ars = arguments;
//当页面中调用到此函数时,会首先把自己注销
window[ func ] = null;
//加载相应的js文件
loadFile( file.file , function()
{
//js加载完成之后,调用js中声明的同名函数,完成动态加载
window[ func ].apply( null , ars );
});
};
});
};
dynamicLoad({
file : 'http://xxx.com/xxx.js',
funcs : [ 'chatWith' , 'showProfile' ]
}); Copy Code
通过dynamicLoad方法注册了一个需要动态加载的函数,参数的file为需要动态加载的文件,funcs为js中实现的函数,当页面中触发调用此函数时,将动态加载对应文件。
需要解决的问题:
1 避免重复加载
这个问题很好解决,只需要做一个数组来存储已经加载的脚本,页面onload的时标记页面中已经加载的js,动态加载时判断某一脚本是否已加载,没有则加载此文件并标记为已加载。
2 在一个js中加载另一js时如何解决版本号问题
开发时写在页面里的脚本可能是xxx.js?ver=$$$,更新之后$$$会替换成对应的svn版本号,然而在js中动态加载另一文件时如何获知该js的版本号呢?
我想到的一种方法:
<script vsrc="xxx.js?ver=$$$"></script>
Copy Code
把页面中需要动态加载的js的src属性改成vsrc,这样就可以得到该文件的版本号