Вы можете сделать это с помощью Automator службы , которая добавит элемент контекстного меню (щелчок правой кнопкой мыши) при нажатии на ссылку в Safari (или Chrome ).
Прочтите Mac Automation Scripting Guide: создание общесистемной службы , в которой есть пошаговое руководство по созданию Automator сервис.
Во время строительства он будет выглядеть примерно так:
Этот сервис, какВы можете видеть, активен только в Safari , когда выделен блок текста.К сожалению, вы не можете ограничить его только гиперссылками, но он включает их.
Если услуга доступна (т.е. вы находитесь в Safari и выделил некоторый текст), пункт меню, соответствующий сервису, появится в подменю правой кнопки мыши под названием «Сервисы», и он будет назван в соответствии с тем, что вы сохранили рабочий процесс, как в Automator .В моем случае служба называется «URL-адрес процесса».
При нажатии она выполняет AppleScript, который можно увидеть в рабочем процессе (он делает это в фоновом режиме, невидимо).
ЭтоВот где вы предлагаете использовать JavaScript, чтобы его использовать: AppleScript выполняет немного JavaScript в Safari (при условии, что у вас есть соответствующие разрешения для этого, отмечен галочкой в Safari "Разработка" меню).
Этот JavaScript-код возвращает один из двух результатов:
▸ Если выбранный текст представляет собой обычный текст без гиперссылки под ним,он возвращает пустую строку;
▸ Если выбранный текст является текстом гиперссылки, он возвращает URL с гиперссылкой.
Он сохраняет его в переменной href
, которую затем вы можете делать как угоднохочу с.
Хорошая вещь о гиперссылках состоит в том, что вам не нужно щелкать и перетаскивать, чтобы выбрать текст (хотя вы можете, если хотите, и только часть текста должна быть выделена).Вместо этого вы можете просто щелкнуть правой кнопкой мыши ссылку, и она автоматически выберет ее для вас, что делает этот способ идеальным для активации службы.