Vimium: Π― создал Π²Π΅Ρ‚ΠΊΡƒ [здСсь] (https://github.com/mrmr1993/vimium/tree/right-click-linkhint), которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡ‡ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ LinkHints.activateModeToTriggerRightClickAction.

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 24 сСнт. 2018  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: philc/vimium

ΠŸΠΎΡ…ΠΎΠΆΠ΅, эта функция ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ довольно Π½ΠΈΠ·ΠΊΠΈΠΌ спросом, поэтому я Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π» ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΅Π΅ Π² Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ вСрсии Π² блиТайшСС врСмя.

_ ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ @ mrmr1993 Π² https://github.com/philc/vimium/issues/874#issuecomment -63235870_

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ Vimium ΠΏΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΠ΄, Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ это адрСсовано ΠΌΠ½Π΅ ...

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ собствСнноС контСкстноС мСню Chrome, я ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ это всС Π΅Ρ‰Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, эта Π²Π΅Ρ‚Π²ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ яваскрипт Π½Π°Π±ΠΎΡ€Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° click / mousedown / mouseup событий для ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ ΠΈΠ»ΠΈ contextmenu событий.

Если это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π½Π° основС Π±Π΅Π³Π»ΠΎΠ³ΠΎ взгляда Π½Π° ae829c8cf8d2bc507653451d9ad940dc5e47d96f (Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ Π² этой Π²Π΅Ρ‚ΠΊΠ΅) ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ мастСра, Π²Ρ‹ смоТСтС:

  • ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· background_scripts/commands.coffee Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ
  • скопируйтС simulateContextMenuEvent , Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΊ lib/dom_utils.coffee
  • Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² simulateClick (ΠΊΠ°ΠΊ Π² этой фиксации), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² simulateMouseEvent , Π³Π΄Π΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послСдний ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ 0 Π½Π° mouseEvent.initMouseEvent
  • Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅ΠΊ Π½Π° button == 0 Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² этом условном
  • Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΊ content_scripts/link_hints.coffee рядом с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ строками:
RIGHT_CLICK = 
  name: "right-click"
  indicator: "Right click"
  linkActivator: (link) ->
    DomUtils.simulateClick(link, {
      altKey: false,
      ctrlKey: false,
      metaKey: false }, 2)
    DomUtils.simulateContextMenuEvent link
  • Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ RIGHT_CLICK Π² available_modes Π² content_scripts/link_hints.coffee
  • Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ activateModeToTriggerRightClickAction (count) -> <strong i="37">@activateMode</strong> count, mode: RIGHT_CLICK рядом с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ строками Π² content_scripts/link_hints.coffee

МнС Π½Π΅ интСрСсно ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² этом, поэтому я, вСроятно, Π½Π΅ Π±ΡƒΠ΄Ρƒ большС ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ, Π½ΠΎ ΡƒΠ΄Π°Ρ‡ΠΈ!

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΌΠ½Π΅, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ? Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ссылку Π² vimium. Бпасибо!

Π― Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ Vimium ΠΏΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΠ΄, Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ это адрСсовано ΠΌΠ½Π΅ ...

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ собствСнноС контСкстноС мСню Chrome, я ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ это всС Π΅Ρ‰Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, эта Π²Π΅Ρ‚Π²ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ яваскрипт Π½Π°Π±ΠΎΡ€Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° click / mousedown / mouseup событий для ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ ΠΈΠ»ΠΈ contextmenu событий.

Если это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π½Π° основС Π±Π΅Π³Π»ΠΎΠ³ΠΎ взгляда Π½Π° ae829c8cf8d2bc507653451d9ad940dc5e47d96f (Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ Π² этой Π²Π΅Ρ‚ΠΊΠ΅) ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ мастСра, Π²Ρ‹ смоТСтС:

  • ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· background_scripts/commands.coffee Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ
  • скопируйтС simulateContextMenuEvent , Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΊ lib/dom_utils.coffee
  • Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² simulateClick (ΠΊΠ°ΠΊ Π² этой фиксации), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² simulateMouseEvent , Π³Π΄Π΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послСдний ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ 0 Π½Π° mouseEvent.initMouseEvent
  • Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅ΠΊ Π½Π° button == 0 Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² этом условном
  • Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΊ content_scripts/link_hints.coffee рядом с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ строками:
RIGHT_CLICK = 
  name: "right-click"
  indicator: "Right click"
  linkActivator: (link) ->
    DomUtils.simulateClick(link, {
      altKey: false,
      ctrlKey: false,
      metaKey: false }, 2)
    DomUtils.simulateContextMenuEvent link
  • Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ RIGHT_CLICK Π² available_modes Π² content_scripts/link_hints.coffee
  • Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ activateModeToTriggerRightClickAction (count) -> <strong i="37">@activateMode</strong> count, mode: RIGHT_CLICK рядом с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ строками Π² content_scripts/link_hints.coffee

МнС Π½Π΅ интСрСсно ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² этом, поэтому я, вСроятно, Π½Π΅ Π±ΡƒΠ΄Ρƒ большС ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ, Π½ΠΎ ΡƒΠ΄Π°Ρ‡ΠΈ!

+1 Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. Π― ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π²Π΅Π±-Π²Π΅Ρ€ΡΠΈΡŽ мноТСства ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ vimium для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ. К соТалСнию, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· Π½ΠΈΡ… трСбуСтся Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ (глядя Π½Π° вас, Spotify).

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ