2008/08/30

ubiquity



ubiquityAza Raskin (Mac 之父的儿子) 新推出的一个 firefox 插件,像是基于浏览器的 quicksilver 。现在要在浏览器中完成一些任务不得不在几个窗口之间切换,比如想在邮件中插入一张地图,就得先打开一个窗口搜索地名,再切换到邮箱中贴上图或者地址,而有了 ubiquity ,这些操作都可以在一个窗口内轻松地实现。许多 web 服务都提供了 API,一般都可以用 javascript 方便地调用,比如花几分钟依样画葫芦地写一个更新饭否的功能。也可以用它来做 js 调试器,未释出前的版本就自带有一个。

const fanfou_STATUS_MAXLEN = 140;
CmdUtils.CreateCommand({
name: "fanfou",
takes: {status: noun_arb_text},
homepage: "http://www.stopdesign.cn/ubiquity/",
author: {name: "chen qian", homepage: "http://stopdesign.cn/"},
license: "MPL",
preview: function(previewBlock, statusText) {
var previewTemplate = "更新你的饭否: <br/>" +
"<b>${status}</b><br /><br />" +
"Characters remaining: <b>${chars}</b>";

var truncateTemplate = "<br />超出的 <b>${truncate}</b> " +
"会被截断!";
var previewData = {
status: statusText.text,
chars: fanfou_STATUS_MAXLEN - statusText.text.length
};
var previewHTML = CmdUtils.renderTemplate(previewTemplate,
previewData);
if(previewData.chars < 0) {
var truncateData = {
truncate: 0 - previewData.chars
};
previewHTML += CmdUtils.renderTemplate(truncateTemplate,
truncateData);
}
previewBlock.innerHTML = previewHTML;
},
execute: function(statusText) {
if(statusText.text.length < 1) {
displayMessage("fanfou requires a status to be entered");
return;
}
var updateUrl = "http://api.fanfou.com/statuses/update.json";
var updateParams = {
source: "ubiquity",
status: statusText.text
};
jQuery.ajax({
type: "POST",
url: updateUrl,
data: updateParams,
dataType: "json",
error: function() {
displayMessage("出现错误,更新失败");
},
success: function() {
displayMessage("饭否更新成功");
}
});
}
});

Labels:

2008/08/15

发点牢骚

今天打开 greader,看到一堆在评论 ECMAScript 4 被停滞的文章,刚好最近一直在做 javascript 方面的工作,相当大一部分时间都是在解决跨浏览器之间的问题,代码中也充斥着判断,如果是 IE 就怎么样,如果不是又怎么样。一个合理的情况这些判断是不应该存在的,包括 quirksmode.org 这样的网站都不应该存在(现实情况是 google 会经常把你带到这里去)。这使开发人员不能集中注意于任务,而要分心在实现手段上了。相反,flash 开发中基本都是一次开发,到处分发。特别是基于 ECMAScript 4 的 actionscript3,引入了诸如 namespaces、packages 等概念,让人想着以后 javascript 也能这样写就爽了,可是,现在就这样泡汤了。不过还好 actionscript 会继续按照开发社区的呼声走下去,支持那些合理的东西,毕竟 flash player 独立些,不用屈从于厂商的意愿,或者说它本身就是一厂商。

Labels: ,

2008/08/03

About “Fleximagically Searchable”

I'm interested in Ryan 's flex SEO contest, and here is my simple flex application, the keywords phrase is dynamically generated when you click the tab.

Labels: