Доступ к ссылке в браузере через щелчок правой кнопкой мыши, Applescript и / или Javascript?

Я хочу щелкнуть правой кнопкой мыши обычную ссылку в (основной) Chrome, Safari (дополнительный) или Firefox / Tor Browser (третичный), а затем отправить ее в другое место с помощью Applescript. Как мне это сделать?

Я мог представить, что сначала использую Javascript для получения фактической ссылки, а затем возвращаю ее как текст в Applescript для дальнейшей обработки. Имеет ли это смысл? Если так, я был бы признателен за несколько советов о том, как начать работу.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
974
1

Ответы 1

Вы можете сделать это с помощью Автоматуслуга, который добавит пункт контекстного меню (щелчок правой кнопкой мыши), когда вы щелкнете ссылку в Сафари (или Хром).

Прочтите Руководство по созданию сценариев автоматизации Mac: создание общесистемной службы, в котором есть пошаговое руководство по созданию службы Автомат.

Во время строительства это будет выглядеть примерно так:

macOS Automator Workflow

Как видите, эта служба активна только в Сафари, когда выделен блок текста. К сожалению, вы не можете ограничить его гиперссылками просто, но он их включает.

Если услуга доступна (т. Е. Вы находитесь в Сафари и выбрали какой-то текст), пункт меню, соответствующий услуге, появляется в подменю, вызываемом правой кнопкой мыши, под названием «Услуги», и ему будет присвоено имя в соответствии с тем, что вы сохранили рабочий процесс. как в Автомат. В моем случае служба называется «URL-адрес процесса».

При нажатии он выполняет AppleScript, который вы можете видеть в рабочем процессе (он делает это в фоновом режиме, невидимо).

Вот где ваше предложение об использовании JavaScript было хорошим для использования: AppleScript выполняет немного JavaScript в Сафари (при условии, что у вас есть для этого необходимые разрешения, отмеченные в меню "Развивать"Сафари).

Этот JavaScript возвращает один из двух результатов:

▸ Если выбранный текст представляет собой обычный текст без гиперссылки под ним, возвращается пустая строка;

▸ Если выбранный текст является текстом гиперссылки, возвращается URL-адрес с гиперссылкой.

Он сохраняет это в переменной href, с которой вы можете делать все, что захотите.

Преимущество гиперссылок заключается в том, что вам не нужно щелкать и перетаскивать, чтобы выделить текст (хотя вы можете, если хотите, и нужно выбрать только часть текста). Вместо этого вы можете просто щелкнуть ссылку правой кнопкой мыши, и она автоматически выберет ее за вас, что делает идеальным для активации услуги именно такой способ.

Спасибо. Я почти у цели. Однако есть две проблемы (1). Эта служба не отображается в контекстном меню Safari при нажатии на ссылку. Там перечислено множество других сервисов, в том числе некоторые, которые я создал сам. Однако он указан в меню Apple -> Службы -> Общие (не Safari, и не имеет значения, устанавливаю ли я его для любого приложения или только для Safari, он всегда находится в разделе Общие). Почему?

d-b 16.06.2018 11:25

(2) Кроме того, это не работает… Если я запускаю сценарий из редактора сценариев со ссылкой, выбранной в Safari, он работает, как ожидалось. Я также могу успешно запустить Javascript из консоли в Safari, но при запуске рабочего процесса из сервисного меню в меню Apple я получаю сообщение об ошибке «Возникла проблема с вводом в Сервис». Ты знаешь почему?

d-b 16.06.2018 11:28
imgur.com/a/vNsXOta Я добавил при запуске, возврат ввода, завершение запуска в качестве теста, если это приведет к появлению в сервисном меню.
d-b 16.06.2018 13:29

Вам не нужны ни явный обработчик on run...end run, ни return input. Но и вреда они не приносят. Рабочий процесс выглядел нормально. Если перезагрузка компьютера не решает проблему, начните с нуля и создайте службу, например, для Хром, чтобы посмотреть, отображается ли она в меню. Кроме того, если вы перейдете на Системные настройки> Клавиатура> Ярлыки> Службы, вы увидите, где ваша услуга отображается в списках категорий. Моя, как и ожидалось, отображается под надписью «Текст». Смотрите и здесь

CJK 16.06.2018 13:56

Скоро попробую на своем втором компьютере.

d-b 17.06.2018 00:54

Другие вопросы по теме