Fai in modo che Safari carichi le schede dello sfondo

7

Penso che questo sia un nuovo comportamento da Safari 11, ma non ne sono assolutamente certo.

Tendo a lasciare Safari sempre aperto, con diverse pagine di schede, ciascuna per un diverso 'oggetto'.
In caso di rilancio, se pulisco meno biscotti salati, ecc., O anche in rare occasioni, riavvio, per ricaricare tutte le schede, attualmente visibili o meno.

Questo comportamento è cambiato & ora ogni scheda in cui andrò sarà vuota & non caricare fino a quando non lo accendo effettivamente. Capisco che la filosofia potrebbe essere quella di risparmiare risorse finché non proverai che ne hai effettivamente bisogno, ma onestamente, se non avessi bisogno di loro, non sarebbero state aperte in primo luogo.
In realtà ho sviluppato l'abitudine di sfogliare rapidamente tutte le schede subito dopo il lancio, quindi vedo una volta il fastidioso ritardo.

Ulteriore irritazione: la versione caricata dopo la pausa di 2 secondi è ancora la versione memorizzata nella cache, quindi è necessario aggiornarla immediatamente comunque: /

Quindi vorrei eliminare questo comportamento.

Desidero, se possibile, che ogni scheda sia già caricata con la versione corrente, non memorizzata nella cache della pagina al momento dell'avvio di Safari. Dopo di che riesco a gestire il mio aggiornamento, voglio solo non dover aspettare quei 2 secondi in più per ogni & ogni scheda al primo utilizzo.

Ho lo sviluppo e amp; I menu di debug sono già visibili, nel caso in cui sia presente la 'correzione', ma francamente la mia comprensione di quei menu è non ottimale. Penso che in tutta onestà li ho resi visibili per farmi sentire al fresco, piuttosto che perché in realtà so a cosa servono;)

Questo è attualmente Safari 11.0.2 su El Capitan.

    
posta Tetsujin 24.12.2017 - 09:01
fonte

1 risposta

3

Non sono a conoscenza di alcun modo per modificare il comportamento predefinito di Safari, ma questa attività può essere automatizzata abbastanza facilmente se si dispone di un mezzo per eseguire un AppleScript.

Uso FastScripts e Keyboard Maestro personalmente, quindi posso assegnare scorciatoie da tastiera globali o specifiche per app ai miei molti script.

Questo AppleScript ricaricherà ogni scheda nella finestra frontale di Safari.

----------------------------------------------------------------
# Auth: Christopher Stone
# dCre: 2011/08/09 20:33
# dMod: 2015/11/14 16:46
# Appl: Safari
# Task: Reload Every Tab in front window.
# Libs: ELb
# Osax: None
# Tags: @Applescript, @Safari, @Reload, @Tabs, @Front, @Window
----------------------------------------------------------------

try

   tell application "Safari"

      set tabList to tabs of front window

      repeat with theTab in tabList
         tell theTab to do JavaScript "location.reload(true)"
      end repeat

   end tell

on error e number n
   stdErr(e, n, true, true) of me
end try

----------------------------------------------------------------
--» HANDLERS
----------------------------------------------------------------
on stdErr(e, n, beepFlag, ddFlag)
   set e to e & return & return & "Num: " & n
   if beepFlag = true then
      beep
   end if
   if ddFlag = true then
      if n ≠ -128 then
         try
            tell application (path to frontmost application as text) to set ddButton to button returned of ¬
               (display dialog e with title "ERROR!" buttons {"Copy Error Message", "Cancel", "OK"} ¬
                  default button "OK" giving up after 30)
            if ddButton = "Copy Error Message" then set the clipboard to e
         end try
      end if
   else
      return e
   end if
end stdErr
----------------------------------------------------------------

Sul mio sistema ho dato una scorciatoia da tastiera di ^ R , che è un buon mnemonico per me.

È abbastanza semplice modificare lo script per ricaricare ogni scheda in ogni finestra.

----------------------------------------------------------------------------
# Auth: Christopher Stone
# dCre: 2011/08/09 20:33
# dMod: 2011/08/09 20:57
# Appl: Safari
# Task: Reload Every Tab in Every Window.
# Libs: None
# Osax: None
# Tags: @Applescript, @Reload, @Tabs, @Every, @Window
----------------------------------------------------------------------------

tell application "Safari"

    set tabList to tabs of windows

    repeat with theWindow in tabList
        repeat with theTab in theWindow
            tell (theTab's contents)
                do JavaScript "location.reload(true)"
            end tell
        end repeat
    end repeat

end tell

----------------------------------------------------------------------------

Lo uso così raramente che non gli ho dato una scorciatoia da tastiera e devo attivarlo manualmente dal menu FastScripts. (Questa è anche una salvaguardia per impedirmi di colpire un hotkey per sbaglio e dover aspettare ogni tab per ricaricarlo.)

-ccs

    
risposta data 27.12.2017 - 00:41
fonte

Leggi altre domande sui tag