2009-2
jQuery居然都没有JSON的decode和encode,精确类型判断也没有,囧……自己动手写吧!不过这些东西在网上都已经有很好的版本了,自己也不用太费脑筋,拿来用吧!类型判断在这里有一段很好的代码:http://lucassmith.name/pub/typeof.html,JSON的decode和encode就直接用Mootools的吧!(不过Mootools里面的JSON.encode方法还不够完美,我作了一些完善。)
/**
* extension of JSON, type for jQuery
* AUTHOR: xushengs@gmail.com
* LICENSE: http://www.opensource.org/licenses/mit-license.php
* WEBSITE: http://ooboy.net/
*/
(function($) {
// the code of this function is from
// http://lucassmith.name/pub/typeof.html
$.type = function(o) {
var _toS = Object.prototype.toString;
var _types = {
'undefined': 'undefined',
'number': 'number',
'boolean': 'boolean',
'string': 'string',
'[object Function]': 'function',
'[object RegExp]': 'regexp',
'[object Array]': 'array',
'[object Date]': 'date',
'[object Error]': 'error'
};
return _types[typeof o] || _types[_toS.call(o)] || (o ? 'object' : 'null');
};
// 剩下的代码请进入全文查看
})(jQuery);
2009-2
谢谢yzty的提醒,jQuery官方说是修改了一些bug,diff了一下代码,发现主要是selector里面的,主要是逻辑上的变化,接口没有任何变化,赶紧从1.3更新到1.3.1吧!
点击这里可以下载可以在Visual Studio 2008中显示智能提示的jQuery版本(jquery 1.3.1)。(发现jquery官方提供的1.3.1的vsdoc貌似是1.2.6的,有几个方法的参数都和1.3.1都不一样,还有部分代码不一样,囧……)


昨天晚上才发现已经出了jQuery的1.3版本,于是下载下来,把原来一个兄弟翻译的1.2.6的文档移植到了1.3中,点击这里可以下载可以在Visual Studio 2008中显示智能提示的jQuery版本。
相关截图:


把VeryCD的插件发到豆瓣上后,NullPointer说这个不错,要是能再整一个电子书的就好了,我说没有找到很好的电子书下载网站,所以没有办法,他立即给我提供了一个很好的电子书搜索引擎,正好有了第一个插件后,改改就能做第二个插件了,于是就接着写了这个。
当你浏览书籍时,可以在豆瓣右侧顶部显示从Google搜索到的电子书下载信息,点击即可打开相应的下载页面。顶部的有分类搜索结果,点击即可在相应的分类中搜索相关下载信息。默认显示三个搜索结果,点击“显示更多”按钮,可以显示至多十条信息。
截图:

这个灵感来自于师弟freefcw,因为自己也经常泡豆瓣,泡的时候又喜欢跑到VeryCD上搜音乐搜电影,于是就写了这么一个插件。这个插件是干什么的呢?
当你浏览音乐专辑或者电影时,会在右侧顶部显示VeryCD上的相关下载信息,点击即可打开相应的下载页面。顶部的有分类搜索结果,点击即可在相应的分类中搜索相关下载信息。默认显示三个搜索结果,点击“显示更多”按钮,可以显示至多十条信息。
截图如下:

纯属无聊,本来只是想写个豆瓣的插件,看到歌曲列表以后就可以在线试听或者下载,不过不能直接从搜索结果列表拿到mp3或者wma的真实地址,只能进去下载页面分析。
不过下载页面的地址的加密倒是简单,很容易就发现了URL密文和明文的对应关系,再稍微看一下JavaScript,就知道怎么还原了。还原方法如下(还是JavaScript版本的):
//48-0, 65-A, 97-a
var CHARACTERS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
function decode(url, offset) {
var l = url.length;
var s = '', idx, ch;
for (var i = 0; i < l; i++) {
ch = url.charAt(i);
if (/[A-Za-z0-9]/.test(ch)) {
idx = CHARACTERS.indexOf(ch) - offset;
if (idx < 0) {
idx += 62
}
ch = CHARACTERS.charAt(idx);
}
s += ch;
}
return s;
}
2009-1
前几个月的时候就说过在JavaScript应用中使用Flash来存储本地数据,使用这个方式有一个非常大的好处就是:不同的浏览器可以共享相同的本地数据。
现在终于抽空整理了一下以前的应用,作为一个简单的开源项目发布了。在Google Code上的地址是:http://code.google.com/p/fookie/,代码里面有可以在vs中智能提示的文档。
JavaScript类名为Fookie,提供了以下几个Public方法:
- Fookie.init(swfUrl, options);
- Fookie.read(key);
- Fookie.write(key, value);
- Fookie.remove(key);
- Fookie.clear();
继续Mootools常用方法扩展,依然还是String类的扩展。
方法:unescapseHTML
说明:这个上次忘了,和escapseHTML正好是一对儿,功能正好相反。
String.implement({
unescapseHTML: function() {
///<summary>
/// 反转义字符中的HTML代码
///</summary>
///<returns type="STRING" />
var htmlChars = ['&~&', '<~<', '>~>'];
var r;
var s = this;
for (var i = htmlChars.length - 1; i >= 0; i--) {
r = htmlChars[i].split('~');
s = s.replace(new RegExp(r[1], 'g'), r[0]);
}
return s;
}
}
Processed in 0.234366 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号
2009-1
用户中心
日志分类

最新日志
最新评论
统计信息






友情链接