Есть одно расширение, очень маленькое и простое, но очень полезное. take me to this URL называется, многие думаю знают его.
Мне что не нравится в нём - это, если просто правой кнопкой щёлкнуть по какой-либо ссылке и выбрать 'take me to this url', то открывается страница iGoogle - просто потому что текста не выделено (в этом случае пользователь отправляется в поисковик):

Выделить код

Код:

if (window.getSelection){
	txt = content.window.getSelection();
	}
	txt1 = txt.toString();
	if(txt1.indexOf(".") == -1){
	txt1 = 'http://www.google.com/search?q='+txt1
	}
	else if(txt1.match("http://") == null && txt1.match("ftp://") == null ){
	txt1= 'http://'+txt1
	}
	document.getElementById("content").addTab(txt1);
	//window.open(txt1,target="_blank","toolbar=1,menubar=1,location=1,fullscreen=0,status=1");
//	window.location.href =txt1

Понятно, что это не баг: раз это уже ссылка, то её можно просто открыть ЛЕВЫМ щелчком мыши (ещё и с зажатым ctrl для удобства), и это даже будет быстрее.
Но вот хочу именно так переписать дополнение "под себя". В какую сторону копать? window.getSelection читал, вроде бы не через него надо делать.

Помогите, кто решал подобные задачи. (Можно просто подсказать в каких расширениях есть похожий функционал - кастомизируется right-click меню ДЛЯ ССЫЛОК, А НЕ ТЕКСТА - посмотрю в коде сам, как это у них реализовано)

questor пишет

если просто правой кнопкой щёлкнуть по какой-либо ссылке и выбрать 'take me to this url', то открывается страница iGoogle - просто потому что текста не выделено

Если вместо выделенного текста должен быть url ссылки, то, вроде бы надо после

Выделить код

Код:

if (window.getSelection){
    txt = content.window.getSelection();
    }

добавить

Выделить код

Код:

else if (gContextMenu && gContextMenu. link)
{
	txt = gContextMenu. linkURL;
}

Но проверять лень, поэтому не уверен.

Anton пишет

Но проверять лень, поэтому не уверен.

Судя по
chrome://browser/content/nsContextMenu.js

Выделить код

Код:

if (gContextMenu && gContextMenu. onLink)

Хотя с точки зрения эффекта должно быть все равно.

Infocatcher
Да, похоже на то.

Я поверил "this.link              = false;", так нечестно : )

Фу, блин! Полез по форуму искать onLink - сразу нашёл ответ на свой вопрос. Правильно говорят: правильно поставленный вопрос - половина ответа!
Всем спасибо за советы!