7 votos

Hacer que Safari cargue las pestañas de fondo

Creo que es un comportamiento nuevo desde Safari 11, pero no estoy absolutamente seguro.

Suelo 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 esa rara ocasión en que reinicio - solía recargar todas las pestañas, estuvieran visibles o no.

Este comportamiento ha cambiado y ahora cada pestaña a la que voy estará en blanco y no se cargará hasta que cambie a ella. Entiendo que la filosofía puede ser la de ahorrar recursos hasta que uno "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 pasar rápidamente por todas las pestañas justo después del inicio, por lo que sólo veo el irritante retraso una vez.

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

Así que me gustaría eliminar este comportamiento.

Quiero, si es posible, que cada pestaña se cargue ya con la versión actual, no cacheada, de la página en el momento de iniciar Safari. Puedo manejar mi propia actualización después de eso, sólo quiero no tener que esperar ese extra de 2 segundos para cada & cada pestaña en el primer uso.

Tengo los menús de Desarrollo y Depuración ya visibles, por si el "arreglo" está ahí, pero francamente mi comprensión de esos menús no es óptima. Creo que, honestamente, los tengo visibles para sentirme bien, más que porque realmente sepa para qué sirven ;)

Actualmente es Safari 11.0.2 en El Capitan.

2voto

Elegant Coder Puntos 123

No conozco ninguna forma de alterar el comportamiento por defecto de Safari, pero esta tarea puede automatizarse con bastante facilidad si se dispone de un medio para ejecutar un AppleScript.

Yo uso FastScripts y Maestro del teclado para poder asignar atajos de teclado globales o específicos de la aplicación a mis numerosos scripts.

Este AppleScript recargará todas las pestañas de la ventana principal 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 atajo de teclado de R que es una buena mnemotecnia para mí.

Es bastante fácil alterar el script para recargar 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

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

Lo uso tan raramente que no le he dado un atajo de teclado y tengo que activarlo manualmente desde el menú de FastScripts. (Esto es también una salvaguarda para evitar que pulse una tecla de acceso rápido por accidente y tenga que esperar a que se recargue cada pestaña).

-ccs

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X