Flusso di lavoro / app di Automator per aggiornare una determinata scheda in Safari (o persino in Crome)


1

Quando sto codificando la mia app Rails, torno spesso a Safari per aggiornare la mia versione locale del sito per vedere se le mie modifiche sono corrette. Sarebbe fantastico premere semplicemente uno dei tasti funzione e questo porterebbe in primo piano la finestra di Safari e aggiornerebbe manualmente la pagina.

Non riesco a trovare un ovvio esempio di questo o niente lungo queste linee per le tipiche ricerche di Google ecc.

Qualche idea se questo può essere fatto e in tal caso come (almeno la parte di Automator)?


Dopo che Safari è aperto (e alcune pagine casuali), puoi aprire automator, fare clic su record e quindi digitare command-r. Quindi interrompere la registrazione. Lo proverò per assicurarmi che funzioni ora.
Flare Cat,

Ok, sembra che funzioni. Dopo la registrazione, tieni semplicemente l'icona del Finder che dice Premi il comando R e che dice alla finestra di venire in primo piano. Quindi non ho idea di come trasformarlo in un tasto funzione, qualcun altro sarà in grado di aiutarti. Questo creerà semplicemente un .app
Flare Cat il

Scusami per la cattiva grammatica, sono occupato e ho pensato di darti un vantaggio.
Flare Cat,

Mi sono praticamente imbattuto nella tua stessa risposta. Ho provato ad aggiungerlo alle scorciatoie dell'app per tastiera ma finora non ho avuto fortuna. Ho registrato l'azione facendo clic sulla scheda. Sembra ricordare il nome della scheda. Funziona finché la stessa scheda è aperta da qualche parte.
Dan Tappin,

Penso che sia possibile avviare un processo / app dalla pressione di un tasto funzione, ma non ho idea di come.
Flare Cat,

Risposte:


3

Incolla questo script nell'editor di script e salvalo come servizio. Mappa il servizio su una scorciatoia da tastiera.

tell application "Safari"
    activate
    tell current tab of window 1
        do JavaScript "location.reload();"
    end tell
end tell

MODIFICARE

tell application "Safari"
    activate
    tell window 1

        --options
        set myTab to tab 1
        set myTab to first tab whose URL = "https://apple.stackexchange.com/questions/224393/automator-workflow-app-to-refresh-a-given-tab-in-safari-or-even-crome/224431?noredirect=1#comment272178_224431"
        set myTab to first tab whose URL starts with "https://apple.stackexchange.com"

        if current tab is not myTab then set current tab to myTab
        tell myTab to do JavaScript "location.reload();"
    end tell
end tell

EDIT 2 Seleziona la tua scheda ed esegui questo script per ottenere il suo nome

tell application "Safari"
    activate
    tell window 1
        get name of current tab
    end tell
end tell

Popolare il nome in questo script:

tell application "Safari"
    activate
    tell window 1
        set myTab to first tab whose name = "insert name here"
        if current tab is not myTab then set current tab to myTab
        tell myTab to do JavaScript "location.reload();"
    end tell
end tell

Puoi specificare il nome della scheda per assicurarti che venga chiamato quello giusto? O la prima scheda?
Dan Tappin,

Safari ha ricevuto un errore: Impossibile ottenere la scheda 1 della finestra 1 il cui URL = apple.stackexchange.com/questions/224393/… . Indice non valido.
Dan Tappin,

Immagino che l'URL sia sbagliato. Prova un URL più semplice o inizia con ...
adayzdone,

L'ho fatto (e in realtà ho aperto anche quelle due pagine). Non fallisce in nessun modo quale URL utilizzo.
Dan Tappin,

Hmmm .. funziona ora (una specie di). Non riesco a fare "inizia con" sul mio URL che è " localhost: 3000 ". Ciò innesca quell'avvertimento. Ho capito che funziona con la finestra 2 della scheda 1. Questo si interromperà un giorno quando apro le finestre nell'altro ordine.
Dan Tappin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.