1 (изменено: Ядрён, 2015-08-09 13:52:28)

Тема: AHK: Открыть ссылку в новой вкладке в Google Chrome

Доброго времени суток. Написал скрипт на открытие ссылки в новой вкладке в Google Chrome но работает он как то криво . Происходит переход на новую вкладку не только по ссылке но и на любом кликабельном тексте.

#IfWinActive, ahk_class Chrome_WidgetWin_1
$~LButton::
 If A_Cursor = Unknown  
  {
    Hwnd := WinExist("A")
 SendInput, +^{vk1} ;Ctrl + Shift +  LButton  открытие ссылки и переход в новую вкладку
}
Return
OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

2 (изменено: ant_serg57, 2023-12-13 16:53:08)

Re: AHK: Открыть ссылку в новой вкладке в Google Chrome

Добрый день! Запускаем этот код и что мы видим в переменных?

Acc:=Acc_ObjectFromPoint(ac)
ar :=Acc.accRole(ac)
try av :=Acc.accValue(ac)
try an :=Acc.accName(ac)

Для ссылки будут следующие значения :
ac = 1
ar = 42
av = адрес ссылки
an = текст ссылки

То есть, после вашей строчки проверки курсора вставляем следующий код и все будет работать как нужно.

If (ac = 1) and (ar = 42) and RegExMatch(av,"^https?://")

В принципе, можно оставить только проверку ac и ar или av, но так надежней.
Так же проверку вида курсора можно убрать - вдруг он переопределяется в таблице стилей страницы, а значок курсора выводится иным способом. Или курсор может быть переопределен у другого объекта, а не ссылки.