Hacer que Safari cargue las pestañas de fondo

7

Creo que este es un comportamiento nuevo desde Safari 11, pero no estoy del todo seguro.

Tiendo a dejar Safari abierto todo el tiempo, con varias páginas de pestañas, cada una para un "tema" diferente.
Al relanzar, si he estado limpiando cookies menos sabrosas, etc., o incluso en alguna rara ocasión en que reinicie, solía volver a cargar todas las pestañas, ya estén visibles o no.

Este comportamiento ha cambiado & ahora cada pestaña que voy a estar en blanco & No cargue hasta que realmente lo cambie. Entiendo que la filosofía podría ser ahorrar recursos hasta que usted "pruebe" que realmente los necesita, pero honestamente, si no los necesitara, no estarían abiertos en primer lugar. De hecho, he desarrollado el hábito de desplazarme rápidamente a través de todas las pestañas justo después del lanzamiento, así que solo veo el retraso irritante una vez.

Más irritación: la versión que se carga después de la pausa de 2 segundos sigue siendo la versión en caché, por lo que debe actualizarla inmediatamente de todos modos: /

Así que me gustaría eliminar este comportamiento.

Quiero, si es posible, que cada pestaña ya esté cargada con la versión actual, no en caché, de la página en el momento en que se lanzó Safari. Después de eso, puedo manejar mi propia actualización. Solo quiero no tener que esperar esos 2 segundos adicionales para cada & Cada pestaña en el primer uso.

Tengo el desarrollo & Los menús de depuración ya están visibles, en caso de que el 'arreglo' esté allí, pero, francamente, mi comprensión de esos menús es subóptima. Creo que con toda honestidad los tengo visibles para hacerme sentir bien, en lugar de porque realmente sé para qué sirven;)

Esto es actualmente Safari 11.0.2 en El Capitán.

    
pregunta Tetsujin 24.12.2017 - 09:01

1 respuesta

3

No tengo conocimiento de ninguna manera de alterar el comportamiento predeterminado de Safari, pero esta tarea se puede automatizar fácilmente si tiene un medio para ejecutar un AppleScript.

Utilizo FastScripts y Keyboard Maestro a mí mismo, por lo que puedo asignar atajos de teclado globales o específicos de la aplicación a mis muchos scripts.

Este AppleScript volverá a cargar todas las pestañas en la ventana frontal de 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
----------------------------------------------------------------

En mi sistema le he dado un método abreviado de teclado de // R , que es una buena mnemotécnica para mí.

Es bastante fácil alterar el script para volver a cargar cada pestaña en cada ventana.

----------------------------------------------------------------------------
# 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

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

Uso este, por lo que rara vez no le he dado un atajo de teclado y tengo que activarlo manualmente desde el menú de FastScripts. (Esto también es una garantía para evitar que golpee una tecla de acceso rápido por accidente y que tenga que esperar a que se vuelva a cargar cada pestaña).

-ccs

    
respondido por el Christopher Stone 27.12.2017 - 00:41

Lea otras preguntas en las etiquetas