Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Opera AC

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Andarin



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
// ==UserScript==
// @name Open in background with long press
// @author Lex1
// @version 1.3.12
// @description Open links in background window on long press.
// @ujs:documentation http://lexi.ucoz.ru/index/0-5#userjs
// @ujs:download http://lexi.ucoz.ru/userjs/open-in-background-with-long-press.js
// ==/UserScript==
 
(function(){
var delay = 500;
var timerId = 0;
var clear = function(){if(timerId){clearTimeout(timerId); timerId = 0}};
 
opera.addEventListener('BeforeEvent.mousedown', function(e){
  var loc = window.location, evt = e.event, target = evt.target;
  if(evt.button == 0 && !evt.ctrlKey && !evt.shiftKey && !evt.altKey){
    timerId = setTimeout(function(){
        var link = target.nodeName.toLowerCase() == 'a' ? target : target.selectSingleNode('ancestor-or-self::*[(local-name()="a" or local-name()="area") and @href]');
        if(link && link.protocol.toLowerCase() != 'javascript:'){
            evt.stopPropagation();
            evt.preventDefault();
            if(link.hash && link.href.replace(link.hash, '') == loc.href.replace(loc.hash, '')){
                loc.hash = link.hash;
            }
            else{
                if(window.atob){
                    window.open(link.href).blur();
                    document.addEventListener('click', function(ev){
                        if(ev.target == target){
                            ev.stopPropagation();
                            ev.preventDefault();
                        };
                        document.removeEventListener(ev.type, arguments.callee, true);
                    }, true);
                }
                else{
                    var mEv = document.createEvent('MouseEvents');
                    mEv.initMouseEvent('mousedown', false, false, window, 0, 0, 0, 0, 0, false, false, false, false, 1, null);
                    link.dispatchEvent(mEv);
                    mEv.initMouseEvent('mouseup', false, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
                    link.dispatchEvent(mEv);
                }
            }
        }
    }, delay);
  }
}, false);
 
document.addEventListener('mouseup', clear, false);
document.addEventListener('mousemove', clear, false);
})();

Всего записей: 3065 | Зарегистр. 04-03-2006 | Отправлено: 11:50 30-08-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Opera AC


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru