Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№5105-05-2015 18:32:59

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

ifln
Теперь понял что ты хочешь, вот попробуй:

Выделить код

Код:

// Открывать ссылки в новой вкладке длинным кликом, от 05.05.2015. ................................
(function func() {
   
   const time = 500;            // время удержания в мс
   const background = true;     // открывать в фоновой вкладке
 
   function handleLongPress(e) { 
      window.clearTimeout( func.timer );
      setTimeout(function() { try { func.removeListener() } catch(ev) {} }, 0);
      
      var lab = XULBrowserWindow.overLink;
    
      if ( e.button || !lab || lab.startsWith("javascript") ) return;
   
      if ( e.type == "mousedown" && !e.target.className.startsWith("ui-slider-handle") ) {
           func.timer = setTimeout(function() {
                function c(e) { e.preventDefault(); e.stopPropagation() };
                addEventListener('click', c, true);
                func.removeListener = function() { removeEventListener('click', c, true) }; 
                            
                var x = gBrowser.mCurrentTab._tPos +1;
                gBrowser.moveTabTo( gBrowser.loadOneTab(lab, {inBackground: background, referrerURI: makeURI(content.location.href)}), x);

           }, time );  
           }
      else 
           clearTimeout( func.timer );
   };
   ["mouseup", "mousedown", "dragstart"]
   .forEach(function(type) { addEventListener(type, handleLongPress, true, gBrowser) });

})();

Отсутствует

 

№5205-05-2015 20:30:06

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 235
UA: unknown 0.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

bunda1
Ура, все работает как надо. Огромное спасибо!
Для меня это большое удобство. Привык в Опере так "раскидывать" вновь открываемые вкладки, что посмотреть сразу, что оставить на потом.

Отредактировано ifln (05-05-2015 20:31:28)

Отсутствует

 

№5329-08-2015 04:31:02

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 38.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

То что кнопка дает возможность "открывать ссылки в новой вкладке длинным кликом" это понятно. Но вот кнопка дает еще один эффект "открытия ссылки в фоне при ее выделении". Можно это как-то отключить? Спасибо

Отсутствует

 

№5429-08-2015 13:32:57

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

Kiril__777 пишет

Но вот кнопка дает еще один эффект "открытия ссылки в фоне при ее выделении"

Я такой эффект не наблюдаю и по коду он и не должен быть. Как ты выделяешь ссылки?

Отсутствует

 

№5529-08-2015 14:45:49

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 38.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

bunda1 есть еще вот такой скрипт для нормального выделения ссылок как в опере

скрытый текст
// ==UserScript==
// @name Выделение текста ссылки
// @include *
// @exclude        http://*.wordstat.yandex.*
// @grant       GM_getValue
// @grant       GM_setValue
// ==/UserScript==

function OPLLS() {
  this.init.apply(this, arguments);
}
OPLLS.prototype = {
  handleEvent: function (e) {
    switch (e.type) {
    case 'mouseup':
      if (!getSelection() .toString()) break;
      console.log('mouseup');
      var t = e.target;
      while (t.nodeName != 'A' && t.nodeName != 'HTML') t = t.parentNode;
      if (!t.href) {
        console.log('uninit');
        this.uninit();
      }
      break;
    case 'click':
      if (!getSelection() .toString()) {
        console.log('clicked and uninit');
        this.uninit();
        break;
      }
      e.preventDefault();
      e.stopPropagation();
      console.log('selected and uninit');
      this.uninit();
    }
  },
  init: function (e) {
    var t = e.target;
    if (t.nodeName == 'IMG') return ;
    while (t.nodeName != 'A' && t.nodeName != 'HTML') t = t.parentNode;
    if (!t.href) return ;
    t.draggable = false;
    console.log('OK');
    document.addEventListener('mouseup', this, true);
    document.addEventListener('click', this, true);
  },
  uninit: function () {
    document.removeEventListener('mouseup', this, true);
    document.removeEventListener('click', this, true);
  }
}
document.addEventListener('mousedown', function (e) {
  if (e.button != 0 || e.ctrlKey || e.altKey || e.shiftKey) return ;
  new OPLLS(e);
}, false);

Отсутствует

 

№5629-08-2015 15:03:57

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

А что делает этот скрипт?

Отсутствует

 

№5729-08-2015 17:04:04

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 40.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

bunda1 пишет

А что делает этот скрипт?

Позволяет выделять часть ссылки
s-6074.png
если...замешкаться с началом выделения, на время задержки в кнопке, то откроется ссылка.

Отсутствует

 

№5829-08-2015 17:38:33

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Firefox 32.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

oleg.sgh пишет

если...замешкаться с началом выделения, на время задержки в кнопке, то откроется ссылка.

OMG! ну не надо, НЕ НАДО опять про это. Ну тотальный же IIuz#$$%%z . Оперу загнобили этими своими тупыми упрёками насчёт "я случайно выделил ссылку(одну букву) и она не открывается/открывается не там где ожидаю, сижу жду. я низаметил..."  Ну неужто так неимоверно сложно заметить что делаешь в бравзере? Уже и мыши с частотами лазера для опр.позиции запредельными, и визуальные эффеты  и... а глупые/ленивые юзеры все так же продолжают настаивать на своей глупости/лени.  Это не оскорбление, правда не может быть оскорблением, хотя "сегодня" как знать...
Этоже получилась абалденная "фишка", а её опять хотят запихнуть в "баги". Против!

Отсутствует

 

№5929-08-2015 17:45:47

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 40.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

jars Из комента не понял ничего...и ладно. Я вообще только пояснил...и  мыша самая что ни на есть обыкновенная.

Отсутствует

 

№6029-08-2015 17:48:57

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Firefox 32.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

скрытый текст
bunda1
Лучше забацай этот скрипт под [CB] ибо оно если запихнуть в Init кнопки - не дизаблит mouseup, ссылка выделяется и потом идет ошибка и mouseup всё равно срабатывает и переходит по ссылке.
т.е. выделение отрабатывает как нужно и если убрать мыша вниз/вверх от той буквы где закончил выделение, то получаетсz mouseup срабатывает на "пустом месте" и никуда не идём. т.е. надобно убрать мыша со ссылки что не есть гуут.
Это пожелание, не просьба даже. не могу я ни о чём просить. Но ежели вдруг... ;) ты можешь , мы знаем.

Добавлено 29-08-2015 17:57:23
oleg.sgh
да прост. я на Опере давно(был) и часто читал подобные "упрёки", чаще чем хотелось бы. ;) И вот мне кокраз это напомнило... Хотя это скорее нужно адресовать Kiril__777-у. Поспешил, бывает :P

Отредактировано jars (29-08-2015 17:59:48)

Отсутствует

 

№6119-09-2015 17:11:12

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 38.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

bunda1
Извините, вы можете ответить на мой вопрос?

Отсутствует

 

№6219-09-2015 20:34:50

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 28.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

Kiril__777 пишет

bunda1
Извините, вы можете ответить на мой вопрос?

Я про такой скрипт не знаю :(

Отсутствует

 

№6302-02-2016 08:10:23

thrower
Участник
 
Группа: Members
Зарегистрирован: 28-11-2013
Сообщений: 207
UA: Firefox 42.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

Подскажите, что изменить в кнопке, чтобы она работала в PaleMoon?

Отсутствует

 

№6405-02-2016 19:55:42

thrower
Участник
 
Группа: Members
Зарегистрирован: 28-11-2013
Сообщений: 207
UA: Firefox 42.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

thrower пишет

Подскажите, что изменить в кнопке, чтобы она работала в PaleMoon?

Ну тогда подскажите алгоритм выявления проблемного места в коде кнопки. )
Где/в чем посмотреть, какой код не срабатывает?

Непривычно уже без этой кнопки как-то. С остальными кнопками проблем нет. А эта, одна из самых используемых, не работает.

Отредактировано thrower (05-02-2016 19:59:22)

Отсутствует

 

№6506-02-2016 00:43:30

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

thrower пишет

Ну тогда подскажите алгоритм выявления проблемного места в коде кнопки. )
Где/в чем посмотреть, какой код не срабатывает?

Кажется в коде не работает XULBrowserWindow.overLink

Добавлено 06-02-2016 01:10:41
thrower
Попробуй:

Выделить код

Код:

// Открывать ссылки в новой вкладке длинным кликом, от 19.12.2013. ................................
(function func() {
   
   const time = 500;            // время удержания в мс
   const background = false;    // открывать в фоновой вкладке
   const nextToCurrent = true;  // открывать рядом с текущей вкладкой
 
   function handleLongPress(e) { 
      window.clearTimeout( func.timer );
      setTimeout(function() { try { func.removeListener() } catch(ev) {} }, 0);
      
      var lab = document.getElementById("status4evar-status-text").value;
    
      if ( e.button || !lab || lab.startsWith("javascript") ) return;
   
      if ( e.type == "mousedown" && !e.target.className.startsWith("ui-slider-handle") ) {
           func.timer = setTimeout(function() {
                function c(e) { e.preventDefault(); e.stopPropagation() };
                addEventListener('click', c, true);
                func.removeListener = function() { removeEventListener('click', c, true) }; 
              
                gBrowser.loadOneTab( lab, {relatedToCurrent: nextToCurrent, inBackground: background, referrerURI: makeURI(content.location.href)} );
           }, time );  
           }
      else 
           clearTimeout( func.timer );
   };
   ["mouseup", "mousedown", "dragstart"]
   .forEach(function(type) { addEventListener(type, handleLongPress, true, gBrowser) });

})();

Отредактировано bunda1 (06-02-2016 01:10:41)

Отсутствует

 

№6606-02-2016 11:29:47

thrower
Участник
 
Группа: Members
Зарегистрирован: 28-11-2013
Сообщений: 207
UA: Firefox 42.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

bunda1, к сожалению, без изменений. Пробовал на PaleMoon 25 и 26.

Отсутствует

 

№6706-02-2016 11:33:05

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

thrower пишет

Пробовал на PaleMoon 25 и 26.

Странно, у меня на чистом PaleMoon 26 работает :/  Проверь на чистом профиле.

Отсутствует

 

№6806-02-2016 20:58:27

thrower
Участник
 
Группа: Members
Зарегистрирован: 28-11-2013
Сообщений: 207
UA: Firefox 42.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

bunda1 пишет

Странно, у меня на чистом PaleMoon 26 работает :/  Проверь на чистом профиле.

Понял, в чем дело. Дело во вшитом расширении PM Statusbar.

У меня изменена настройка Show links in Statusbar на Popup (как в Файрфоксе). А изменения кода кнопки (getElementById) привязаны именно к этой дефолтной настройке. И поэтому при любом изменении этого Show links in Statusbar кнопка перестает работать.

2bd75f19d09c2692347f756610593212.png

Немного неудобно, но зато работает!

bunda1, спасибо за помощь.

Отредактировано thrower (06-02-2016 21:02:50)

Отсутствует

 

№6906-02-2016 21:33:41

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

thrower пишет

Понял, в чем дело. Дело во вшитом расширении PM Statusbar.

Где можно установить PM Statusbar?

Отсутствует

 

№7006-02-2016 22:00:47

thrower
Участник
 
Группа: Members
Зарегистрирован: 28-11-2013
Сообщений: 207
UA: Firefox 42.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

bunda1,
его не надо устанавливать. Оно интегрировано.

6f194efa1b3f7f588038db6a9777082a.png

Отсутствует

 

№7106-02-2016 22:29:02

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

thrower пишет

У меня изменена настройка Show links in Statusbar на Popup (как в Файрфоксе)

Выделить код

Код:

// Открывать ссылки в новой вкладке длинным кликом, от 19.12.2013. ................................
(function func() {
   
   const time = 500;            // время удержания в мс
   const background = false;    // открывать в фоновой вкладке
   const nextToCurrent = true;  // открывать рядом с текущей вкладкой
 
   function handleLongPress(e) { 
      window.clearTimeout( func.timer );
      setTimeout(function() { try { func.removeListener() } catch(ev) {} }, 0);
      
      var lab = XULBrowserWindow.statusTextField.value;
    
      if ( e.button || !lab || lab.startsWith("javascript") ) return;
   
      if ( e.type == "mousedown" && !e.target.className.startsWith("ui-slider-handle") ) {
           func.timer = setTimeout(function() {
                function c(e) { e.preventDefault(); e.stopPropagation() };
                addEventListener('click', c, true);
                func.removeListener = function() { removeEventListener('click', c, true) }; 
              
                gBrowser.loadOneTab( lab, {relatedToCurrent: nextToCurrent, inBackground: background, referrerURI: makeURI(content.location.href)} );
           }, time );  
           }
      else 
           clearTimeout( func.timer );
   };
   ["mouseup", "mousedown", "dragstart"]
   .forEach(function(type) { addEventListener(type, handleLongPress, true, gBrowser) });

})();

Отсутствует

 

№7206-02-2016 22:47:26

thrower
Участник
 
Группа: Members
Зарегистрирован: 28-11-2013
Сообщений: 207
UA: Firefox 42.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

bunda1, спасибо, то что надо!

Отсутствует

 

№7329-02-2016 09:27:33

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 44.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

Не могу сообразить как здесь сделать что бы открывалось в активных вкладках.

Отсутствует

 

№7429-02-2016 10:46:31

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 42.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

oleg.sgh
Так, не?
background = false;


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№7529-02-2016 10:53:02

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 44.0

Re: [CB]Открывать ссылки в новой вкладке длинным кликом

villa7
Пробовал менять но без результата. Попробую еще в новом профиле...может конфликт с другими кнопами.

Странно, но сейчас заработало. Значит сам косячил :P Спасибо.

Отредактировано oleg.sgh (29-02-2016 11:12:06)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]