功能说明见之前的文章《向上一级》。

下载地址:Up v1.0.crx(未向 Google Chrome Extension gallery 提交)

关键代码:(位于 background page 里)

chrome.browserAction.onClicked.addListener(function(tab){
    var url = tab.url;
    var beforeHost = url.indexOf("://");
    if(beforeHost<0) return;
    beforeHost = url.indexOf("/", beforeHost + 3);
    if(beforeHost<0) return;
    var pn = url.substr(beforeHost);
    var len, p;
    if((len = pn.length) > 1 && (p = pn.lastIndexOf("/", len-2)) >= 0){
        chrome.tabs.update(tab.id,
                           {url: url.substring(0, beforeHost) + pn.substring(0, p+1),
                           selected: true}
                           );
	}
});
posted @ 2010-02-01 06:57 maduoyuan 阅读(78) 评论(0) 编辑

以前要扩展 Google Chrome 的话,一直是使用 JavaScript 书签的,就像前面的几篇写的那样。今天终于看到 Google Chrome 提供扩展的功能了(文档),于是就写了一个。

需求:我在 Google Reader 里订阅了一些 Google Group 的内容,但是忘了从什么时候开始了,从Reader 里直接打不开这些内容了。原因是 Google Group 提供的 RSS 中的链接使用的是 http ,但好像是被封了,不过用 https 是可以打开的。不过,每次打开以后,都需要手工在协议后加个“s”,麻烦!其实,一直想写个类似前面的脚本一样的东西,但到现在也没有写。

功能及操作方法:安装完该扩展后,如果打开的页面是使用 http 的(或者使用 http 打不开),在 Chrome 的地址栏的末尾就会显示一个“一个绿色箭头指向一把锁”的图标,点击该图标,URL 中的协议部分就会被替换为 https ,其余部分不变。

下载地址:Use HTTPS v1.0.crx (未向 Google Chrome Extension gallery 提交)

主要代码:(位于 background page 里)

chrome.pageAction.onClicked.addListener(function(tab){
    chrome.tabs.update(tab.id, {url: "https://" + tab.url.substr(7), selected: true});
});
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
    if(tab.url.substr(0, 7).toLowerCase() == 'http://'){
        chrome.pageAction.show(tabId);
    }else{
        chrome.pageAction.hide(tabId);
    }
});
posted @ 2010-01-29 07:10 maduoyuan 阅读(248) 评论(0) 编辑

等啊、盼啊,终于出来了。

刚才打开 Google Chrome 首先发现字体有点变化,往页面下方一看,原来有了新功能了:同步书签。

在刚发布 Google Chrome 的时候,本以为会带有这项功能,结果没有,有点失望。不过,现在加上了,也不晚。只是以后会有点麻烦事,是用 Google 书签呢,还是用 Delicious ?看来,人生时时刻刻都在面临着选择呀。

对我而言,Delicious 较 Google 书签有个好处,就是可以分享。但是从 Chrome 里向 Delicious 添加书签,首先需要在 Chrome 里添加一个“添加书签”的书签,然后还要进入 Delicious 的 Save bookmark 页面,然后……,有些繁琐。

 

接着,又看到了“扩展程序”,什么时候加的,我怎么没有发现啊?难道也是这次升级添加的?

从 Chrome 发布以来,一直在用(除非是要测试一些自己开发的东西),原因就是它的简洁。不知道添加了“扩展程序”以后会怎么样,希望不要成为第二个 Firefox。

posted @ 2010-01-28 23:02 maduoyuan 阅读(238) 评论(0) 编辑

首先说明,本工具的使用场合可能很少。

功能描述:使用户可以复制链接(tag A)中的部分文本。执行本工具后,页面中所有的链接将在“可复制部分文本”和“正常”两种状态间切换。

链接:Copy part of A

主要代码:

function(){
	var o, n;
	if(window.$d$){
		$d$ = null;
		o = "h";
		n = "href";
	}else{
		$d$ = {};
		o = "href";
		n = "h";
	}
	var b = document.getElementsByTagName("a");
	for(var i=0, l=b.length; i<l; ++i){
		var a = b.item(i);
		a.setAttribute(n, a.getAttribute(o));
		a.removeAttribute(o);
	}
}
posted @ 2010-01-07 01:41 maduoyuan 阅读(15) 评论(0) 编辑

今天在浏览一个页面时,发现在前面一篇同样目的的文章中介绍的处理方法失效了,原来是该页面多设置了几个事件处理函数。于是修改了一下:

function rp(w){
	var e = ["oncontextmenu",
		"onselectstart",
		"ondragstart",
		"onselect",
		"oncopy",
		"onbeforecopy",
		"onmouseup"];
	try{
		for(i=0,l=e.length; i<l; ++i){
			w[e[i]]=null;
			w.document[e[i]]=null;
			w.document.body[e[i]]=null;
		}
	}catch(e){}
	for(fs=w.frames,i=0,l=fs.length;i<l;++i)
		rp(fs(i));
};
void(rp(window));

全部的事件见 rp 中的 e 数组。

本次除了增加事件,还将所有这些事件保存在一个数组中,以方便以后添加新的内容。

释放页面,同样,可以将前面的链接保存在浏览器的收藏夹或书签栏里。

posted @ 2010-01-05 20:19 maduoyuan 阅读(12) 评论(0) 编辑
摘要: Google工具栏有个“向上一级”按钮,主要功能是将用户导航到当前文档的上级目录或所在目录的缺省文档。浏览器中好像没有提供这个功能,那么,自己可以做一个类似的功能:向上一级。将该链接保存为书签即可。主要代码如下:function(){ var l = window.location; var pn = l.pathname; if((len = pn.length) >...阅读全文
posted @ 2009-12-27 16:17 maduoyuan 阅读(33) 评论(0) 编辑
摘要: Work or Play,Tool or Toy.阅读全文
posted @ 2009-12-26 22:52 maduoyuan 阅读(12) 评论(0) 编辑
摘要: 释放页面先看一下主要的代码:function rp(w){ try{ var d=w.document; d.oncontextmenu=null; d.onselectstart=null; d.body.oncopy=null; }catch(e){} for(fs=w.frames,i=0,l=fs.length;i<l;i++) rp(fs(i));};void(rp(wi...阅读全文
posted @ 2009-12-25 18:34 maduoyuan 阅读(32) 评论(0) 编辑
摘要: 我们倾向于集中精力做技术方面,而不是人际关系方面工作的主要原因,不是因为它更重要,而是因为它更容易做。……。人际交往是很复杂的,并且就效果而言从来都不会是很明晰和清楚的,但是它们比工作的任何其他方面更重要。如果你发现自己关注的是技术而不是社会方面的问题,你就相当于在一条黑暗的街上丢失了钥匙,却到邻近的另一条街上去寻找。因为“这条街上的灯光比那条街上的灯要亮一...阅读全文
posted @ 2009-12-25 17:50 maduoyuan 阅读(22) 评论(0) 编辑