Usługa Automator, która otwiera adres URL z tekstu sformatowanego

0

Chciałbym utworzyć usługę Automator, która otworzy każde łącze w innej przeglądarce (np. Firefox) niż domyślne (Safari).

Dokładnie: chcę kliknąć prawym przyciskiem myszy dowolny link w Mac OS i wybrać usługę, która otworzy ten link w Firefoksie.

kobozy
źródło
1
Dopóki tekst linku z hiperłącze jest taki sam jak atrybut href , więc wierzę, że to, o co prosisz, jest niewykonalne z domyślnymi działania usługi Automatora. Dzieje się tak, ponieważ po kliknięciu prawym przyciskiem myszy na hiperłącze tym, co jest przekazywane do usługi Automator, jest tekst linku nie atrybut href (URL), i jako taki nie ma adresu URL do przekazania innym akcja być poddanym działaniu. Na przykład. kliknij prawym przyciskiem myszy Google przekazuje „Google” do usługi, a nie adres URL - tj. <a href="url">link text</a> = <a href="https://www.google.com">Google</a>
user3439894

Odpowiedzi:

1

Możesz użyć akcji Automator Wyodrębnij adresy URL z tekstu.

grg
źródło
To nie działa, po prostu nic nie dostaje na wyjście.
kobozy
0

Zamiast używać Automatora do analizowania tekstu, użyj polecenia Terminal (Bash), aby uzyskać poszukiwany tekst.

grep -o 'http://[^"]*' foobar.rtf

Możesz dodać to do Applescript

set varURL to do shell script "grep -o 'http://[^"]*' foobar.rtf"

The najprostszy sposobem wyodrębnienia adresu URL i otwarcia okna przeglądarki na ten adres URL jest skrypt Bash:

#!/bin/bash

varURL=`grep -o 'http://[^"]*' ${1}`

open $varURL

mam sample.rtf plik, którego użyłem do przetestowania tego. Zasadniczo są to pliki generowane przez Lorem Ipsum z adresem URL osadzonym losowo w tekście.

Kiedy uruchamiam skrypt,

$ ./urlxtract.sh sample.rtf

otwiera moją domyślną przeglądarkę pod znalezionym adresem URL. Aby otworzyć go w różne przeglądarka, po prostu zastąp open wiersz w skrypcie z następującymi elementami:

open -a "Firefox.app" $varURL
Allan
źródło
Muszę to umieścić w usłudze, ponieważ wydaje mi się to najprostszym sposobem otwarcia adresu URL w innej przeglądarce, ale nie wiem, jak to zrobić.
kobozy
Rozumiem i działa w Terminalu, ale nie w Serwisie automatora. Nawet gdy korzystam z usługi tylko po to, aby uruchomić plik z richtextem jako wejściem, nic nie otwiera, tylko sam Firefox. Wygląda na to, że usługa nie uzyskuje łącza na wejściu richtext, jak powinno. Co chcę: kliknij prawym przyciskiem myszy dowolny link w poczcie i wybierz usługę, np. „Otwórz w Firefoksie” - & gt; URL z tego linku powinien zostać otwarty w zdefiniowanej przeglądarce. Co używam: usługa automatora z wejściem jako richtext w dowolna aplikacja - & gt; usługa ma tylko jedną akcję Uruchom skrypt powłoki z następującym kodem: ./urlxtract.sh "$@"
kobozy
Musisz to zrobić że wymaganie w twoim pytaniu, ponieważ jak zostało napisane, uruchamiasz polecenie Bash ( osascript nazywa się Bash)
Allan
Przepraszam, ale nie rozumiem. Jakie masz na myśli wymagania?
kobozy
Co chcę: kliknij prawym przyciskiem myszy dowolny link w mailu i wybierz usługę . To wymaganie jest zupełnie inne niż to, o co pytasz. Chcesz otworzyć link, kliknij go prawym przyciskiem myszy i otwórz go za pomocą innej przeglądarki; to ma nic zrobić z bogatym tekstem. To jest podręcznikowa definicja Problem XY
Allan