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

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№2615-12-2013 17:39:08

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 25.0
Веб-сайт

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

Значит у меня что-то не так установлено :(
Извините за беспокойство.
Может у кого-то тоже не так установлено, как надо - тогда предложенный мною способ как воркэраунд сойдёт имхо - за неимением титульной бумаги, пишем на простой :)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№2715-12-2013 17:49:15

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

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

bunda1
Со старым кодом при загрузке страницы ложно срабатывало выделение пока страница полностью не загрузилась, с новым кодом если страница ещё полностью не загружена то долгий клик по ссылкам не работает пока страница полностью не загрузится, но тут уж наверно ничего не сделать, либо либо.


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

Отсутствует

 

№2815-12-2013 18:03:01

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

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

villa7 пишет

bunda1
Со старым кодом при загрузке страницы ложно срабатывало выделение пока страница полностью не загрузилась, с новым кодом если страница ещё полностью не загружена то долгий клик по ссылкам не работает пока страница полностью не загрузится, но тут уж наверно ничего не сделать, либо либо.

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

Отсутствует

 

№2915-12-2013 19:34:37

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

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

villa7
Попробуй:

Выделить код

Код:

// Открывать ссылки в новой вкладке длинным кликом, от 15.12.2013. ................................
(function func() {
   
   const time = 500;               // время удержания в мс
   const background = false;    // открывать в фоновой вкладке
   const nextToCurrent = true;  // открывать рядом с текущей вкладкой
 
   function handleLongPress(e) {
      setTimeout(function() { try { func.removeListener() } catch(e){} }, 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) }; 
              
                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) });

})();

Отсутствует

 

№3015-12-2013 19:44:53

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 25.0
Веб-сайт

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

Но если "const background = false;    // открывать в фоновой вкладке" то вкладка откроется в форграунде...


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№3115-12-2013 19:53:35

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

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

difabor пишет

Но если "const background = false;    // открывать в фоновой вкладке" то вкладка откроется в форграунде...

Ну так и задумано :)

Отсутствует

 

№3215-12-2013 22:44:57

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

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

bunda1
Да, вроде сейчас нормально стало. Спасибо.


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

Отсутствует

 

№3321-01-2014 04:48:00

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

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

bunda1, шикарная кнопка, спасибо!

А не мог бы ты добавить в кнопку "(Принудительно) открывать ссылки в текущей вкладке длинным ПКМ"?

Отсутствует

 

№3421-01-2014 09:57:08

Пандёнок
Участник
 
Группа: Extensions
Зарегистрирован: 04-11-2008
Сообщений: 5543
UA: Chrome 32.0

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

thrower пишет

А не мог бы ты добавить в кнопку "(Принудительно) открывать ссылки в текущей вкладке длинным ПКМ"?

Присоединяюсь!

Отсутствует

 

№3521-01-2014 19:29:32

Ki_rrrilll
Участник
 
Группа: Members
Зарегистрирован: 22-11-2013
Сообщений: 127
UA: Firefox 25.0

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

А как бы сделать чтобы пункт контекстного меню "Открыть ссылку в новой вкладке" открыл новую foreground вкладку, при том, что в about:config у меня стоит browser. tabs. loadInBackground=true и менять эту настройку я бы не хотел?

Можно кликнуть по ссылке зажав Ctrl + Shift, тогда фокус переходит на новый таб, но а как бы повесить это на пункт меню?

Отсутствует

 

№3621-01-2014 20:21:27

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

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

Пандёнок пишет
thrower пишет

А не мог бы ты добавить в кнопку "(Принудительно) открывать ссылки в текущей вкладке длинным ПКМ"?

Присоединяюсь!

Выделить код

Код:

// Открывать ссылки длинным кликом, от 21.01.2014. ................................
(function func() {
   
   const time = 500;            // время удержания в мс
   const background = true;    // открывать в фоновой вкладке
   const nextToCurrent = true;  // открывать рядом с текущей вкладкой
 
   function handleLongPress(e) { 
      window.clearTimeout( func.timer );
      setTimeout(function() { try { func.removeListener() } catch(ev) {} }, 0);
      
      var lab = XULBrowserWindow.overLink;
    
      if ( e.button == 1 || !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) }; 
                
                e.button == 0
                ? gBrowser.loadOneTab( lab, {relatedToCurrent: nextToCurrent, inBackground: background, referrerURI: makeURI(content.location.href)} )
                : gBrowser.loadURI( lab, makeURI(content.location.href) );
                
           }, time );  
           }
      else 
           clearTimeout( func.timer );
   };
   ["mouseup", "mousedown", "dragstart"]
   .forEach(function(type) { addEventListener(type, handleLongPress, true, gBrowser) });

})()

Добавлено 21-01-2014 20:35:44

Ki_rrrilll пишет

А как бы сделать чтобы пункт контекстного меню "Открыть ссылку в новой вкладке" открыл новую foreground вкладку, при том, что в about:config у меня стоит browser. tabs. loadInBackground=true и менять эту настройку я бы не хотел?

Можно кликнуть по ссылке зажав Ctrl + Shift, тогда фокус переходит на новый таб, но а как бы повесить это на пункт меню?

Выделить код

Код:

(function () {
   var openlinkintab = document.getElementById("context-openlinkintab");   
   openlinkintab.setAttribute("oncommand", "event.preventDefault(); this.run();");   
   openlinkintab.run = function() {
      gBrowser.loadOneTab( gContextMenu.getLinkURL(), {relatedToCurrent: true, inBackground: false, referrerURI: makeURI(content.location.href)} )
   };
   addDestructor(function() { openlinkintab.setAttribute("oncommand", "gContextMenu.openLinkInTab();"); });   
})();

Отредактировано bunda1 (21-01-2014 20:35:44)

Отсутствует

 

№3721-01-2014 23:13:37

Ki_rrrilll
Участник
 
Группа: Members
Зарегистрирован: 22-11-2013
Сообщений: 127
UA: Firefox 25.0

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

Спасибо bunda1
Работает четко :)

Отсутствует

 

№3822-01-2014 00:22:55

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

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

bunda1, работает! :) Только появился нюанс...

Длинный ПКМ стал работать как надо. Принудительно загружает все ссылки в текущей вкладке.
А вот длинный ЛКМ, к сожалению, изменил свое поведение: стало загружаться 2 экземпляра ссылки - в новой фоновой вкладке и, после отпускания клика (mouseup, release), в этой же самой.

Можно это как-нибудь исправить?

Отсутствует

 

№3922-01-2014 02:34:04

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 26.0
Веб-сайт

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

thrower пишет

bunda1, работает! :) Только появился нюанс...

Длинный ПКМ стал работать как надо. Принудительно загружает все ссылки в текущей вкладке.
А вот длинный ЛКМ, к сожалению, изменил свое поведение: стало загружаться 2 экземпляра ссылки - в новой фоновой вкладке и, после отпускания клика (mouseup, release), в этой же самой.

Можно это как-нибудь исправить?

Я Вам могу посоветовать простой воркэраунд:
Нажимаете ссылку и после таймаута (когда фоновая вкладка начинает открываться) не отпуская ЛКМ уводите курсор из-под ссылки и уже тогда - отпускаете :)
Ведь Вам главное - не отпустить над ссылкой :)
Почему открывается и в текущей? Да потому что так самим сайтом задумано.
Если открывать в активной, то переход на активную вкладку не даёт исходному сайту вести себя так (мы его покинули), а если Вы открываете фоновую, то значит остаётесь на том же сайте. Вот он и делает то, что задумывал при отпускании ЛКМ. Откуда ему знать о длинном клике? :)

Отредактировано difabor (22-01-2014 02:35:22)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№4022-01-2014 03:59:46

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

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

difabor

Я Вам могу посоветовать простой воркэраунд:
Нажимаете ссылку и после таймаута (когда фоновая вкладка начинает открываться) не отпуская ЛКМ уводите курсор из-под ссылки и уже тогда - отпускаете

Тогда будет открываться нов. вкладка в фоне.

Да потому что так самим сайтом задумано.

Независимо от сайта.
Хотя, по поводу нового длинного ЛКМ, изменяется в зависимости от изначального таргета ссылки (в новой или текущей вкладке).

Эта кнопка как раз и изменяет (плюет на) то, что "сайтом задумано"! :)

Отсутствует

 

№4122-01-2014 04:09:06

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 26.0
Веб-сайт

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

thrower пишет

difabor

Я Вам могу посоветовать простой воркэраунд:
Нажимаете ссылку и после таймаута (когда фоновая вкладка начинает открываться) не отпуская ЛКМ уводите курсор из-под ссылки и уже тогда - отпускаете

Тогда будет открываться нов. вкладка в фоне.

Да потому что так самим сайтом задумано.

Независимо от сайта.
Хотя, по поводу нового длинного ЛКМ, изменяется в зависимости от изначального таргета ссылки (в новой или текущей вкладке).

Эта кнопка как раз и изменяет (плюет на) то, что "сайтом задумано"! :)

Так так и задумано, чтоб новая вкладка открывалась в фоне.
Если Вы хотите, чтоб не в фоне (т.е. чтоб была активной), то это ещё проще и не надо предложенного воркэраунда -
замените const background = true на const background = false

Отредактировано difabor (22-01-2014 04:10:47)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№4222-01-2014 04:28:43

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

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

difabor

замените const background = true на const background = false

Действительно.
Изменив этот параметр, получил желаемое поведение!
Спасибо за совет.

Отсутствует

 

№4322-01-2014 04:44:11

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 26.0
Веб-сайт

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

thrower пишет

difabor

замените const background = true на const background = false

Действительно.
Изменив этот параметр, получил желаемое поведение!
Спасибо за совет.

Пожалуйста :)
А вот если захотите в фоне открывать, то не забудьте о трике - утягивать курсор с ссылки после длинного нажатия, не отпуская кнопку :)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№4422-01-2014 22:37:00

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

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

thrower пишет

Длинный ПКМ стал работать как надо. Принудительно загружает все ссылки в текущей вкладке.
А вот длинный ЛКМ, к сожалению, изменил свое поведение: стало загружаться 2 экземпляра ссылки - в новой фоновой вкладке и, после отпускания клика (mouseup, release), в этой же самой.

У меня ЛКМ работает как надо в не зависимости от const background.... Может у тебя конфликт с другим расширением и скриптом :/

Отсутствует

 

№4527-04-2015 07:56:19

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

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

Использую код  №12.
Можно в него добавить и открытие истории из боковой панели?

Отсутствует

 

№4603-05-2015 17:02:36

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

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

Использую "Открывать ссылки в новой вкладке длинным кликом, от 19.12.2013".
Сейчас longclick и СКМ открывают background вкладку в самом конце. Т.к. при настройке браузера browser.tabs.insertRelatedAfterCurrent;false  const nextToCurrent = true; не работает. Отключал остальные расширения, не помогло. Можно ли сделать, чтобы по longclick вкладка открывалась вслед за активной?
Если установить browser.tabs.insertRelatedAfterCurrent;true
можно настроить const nextToCurrent для открытия и вслед за активной и в конце всех вкладок. Но мне важно чтобы СКМ открывал в конце.

Отсутствует

 

№4703-05-2015 17:15:35

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

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

ifln
Пролистайте к середине.
Открывать любую новую вкладку справа от текущей
https://forum.mozilla-russia.org/viewtopic.php?id=52227

Отредактировано villa7 (03-05-2015 17:16:43)


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

Отсутствует

 

№4803-05-2015 17:26:35

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

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

villa7
Не подходит. :)
Смысл в том, чтобы longclick открывал справа от текущей, а СКМ в конце. А с этим кодом все открывает вслед за активной.

Отсутствует

 

№4904-05-2015 23:37:36

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

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

ifln пишет

villa7
А с этим кодом все открывает вслед за активной.

А вот и нет, Открывать ссылки в новой вкладке длинным кликом вообще на СКМ не влияет.

Отсутствует

 

№5005-05-2015 07:43:22

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

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

bunda1 пишет

А вот и нет, Открывать ссылки в новой вкладке длинным кликом вообще на СКМ не влияет.

Правильно. Влияние обратное. Настройка браузера browser.tabs.insertRelatedAfterCurrent;false не позволяет открыть вкладку вслед за текущей по longclick. Т.е. сonst nextToCurrent = true не работает.
Если добавить кнопку Открывать любую новую вкладку справа от текущей, то и СКМ будет открывать справа от активной.
Я хотел настроить, чтобы longclick открывал справа, а СКМ в конце.

Отсутствует

 

Board footer

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