Здравствуйте!
Подскажите, как сделать, чтобы ссылка не открывалась в новом окне при нажатой клавише Shift

Средствами содержимого веб-страницы, я так понимаю ? Никак.

Уверен? Тогда вот пример для ослика
function cancelLink() {
    if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
        window.event.returnValue = false;
}
Я еще не слишком силен в объектной модели лисы, может кто-то перепишет пример для FF?

Хм.
==> Разработка

Хм... Это все конечно хорошо, но разве это не ущемление прав и свобод гражданина? :)

А я для собственных нужд.
Народу этот скрипт не достанется:lol:

firecat пишет

Уверен?...

Уже нет. Ну, попробуй так:

Выделить код

Код:

<a href="http://ya.ru" onclick='document.location.href="http://ya.ru";event.preventBubble();return true;'>http://ya.ru</a>

Но все же хотелось иметь конвертацию своего кода, что лучше видеть различия между браузерами, а не разные подходы к решению проблемы.

Примерно так.

Выделить код

Код:

function f (e)
{
    if ((e. target. nodeName == "A") && (e. shiftKey))
    {
        e. preventBubble ();
        document. location. href = e. target. href;
        return true;
    }
}
window. addEventListener('click', f, true);

А куда вставлять то? У меня не заработало.

Выделить код

Код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <title>disable shift+click</title>
    </head>
    <body>
        <script type="application/x-javascript">
            function f (e)
            {
                if ((e. target. nodeName == "A") && (e. shiftKey))
                {
                    e. preventBubble ();
                    document. location. href = e. target. href;
                    return true;
                }
            }
            window.addEventListener ('click',f,true);
        </script>
<a href="http://ya.ru">http://ya.ru</a>
    </body>
</html>

все равно открывается:(
только в другой вкладке. что в принципе одно и то же

firecat пишет

все равно открывается:(
только в другой вкладке. что в принципе одно и то же

Ну, это уже менеджер расширений распоряжается.
У меня не открывается, например.
Можно попробовать добавить после e.preventBubble(); e.preventDefault();

Здравствуйте!
Сегодня на свежую голову проверил. Открывается не в новой вкладке, а в этом же окне. Никаких расширений нет. Чистый FF 1.07.

Чтобы совсем не открывалось, надо убрать строку

Выделить код

Код:

document. location. href = e. target. href;

Yes!
Вот спасибочки!