Господа, прошу помощи.
Сделал простенький плагин. Суть его в том, что при клике правой мышкой с зажатым Shift по ссылке типа"http://www.site1.com/....?=http://www.target.com" открывается окно с сайтом
http://www.target.com. Вроде скрипт проще некуда, а я уже два часа мучаюсь - не могу понять, в чем проблема.
<script language="JavaScript">
(function() {
var x=document.links;
for(i=0;i<x.length;i++)
{
x[i].oncontextmenu=function()
{
if(window.event.shiftKey)
{
var s=this.href //берем ссылку
var ind1=s.indexof("=http",5) //ищем в ней вхождение "=http"
s=s.substring(ind1) //вырезаем нужную часть (от "=http" и до конца строки)
var v=window.open(s) //открываем окно с полученым адресом
return false
}
}
}
}())
</script>
Основу скрипта я взял из плагина CopyLink (копирует ссылку в буфер при нажатом Shift)
Вроде должно все работать, но плагин не работает вообще, либо открывает совсем не то.... При попытке в блоке If оставить только строчку "var v=window.open(s)" и заменить её на "var v=window.open("rambler.ru") " (чтобы проверить работает ли плагин хоть как-то) получаю, что при правом клике с шифтом по [ссылке] получаю новое окно, где в строке адреса стоит "[ссылка]rambler.ru" - т.е. несмотря на то, что я явно указал адрес "rambler.ru" все равно вначале пристыковывается исходная ссылка. Совсем туплю уже - не могу понять. При попытках раскомментировать по одной строки блока If плагин вообще перестает работать..
Подскажите, в чем проблема. И заодно еще вопрос - никак не могу понять, где нужно ставить ";" в конце строки, а где нет. В плагинах полазил - где как.. и везде работает - и с ";" и без.