🧿 Extensión Tab Reloader

¿Alguna vez has deseado que tus pestañas del navegador se actualicen automáticamente? En este artículo, te presentaremos la extensión Tab Reloader, una herramienta útil que te permite mantener tus pestañas actualizadas sin esfuerzo. Sigue leyendo para descubrir cómo funciona esta extensión y cómo puede facilitar tu experiencia de navegación. ¡No te lo pierdas!

¿Qué es la extensión Tab Reloader?

La extensión Tab Reloader es una herramienta diseñada para los navegadores web que te permite configurar tus pestañas para que se actualicen automáticamente en intervalos de tiempo específicos. Esto es especialmente útil cuando necesitas mantener un ojo en una página web que se actualiza constantemente, como una página de noticias, un tablero de seguimiento o una página de precios.

¿Cómo funciona Tab Reloader?

La extensión Tab Reloader es fácil de instalar y usar. Una vez que la hayas agregado a tu navegador, podrás acceder a sus configuraciones haciendo clic en el ícono correspondiente en la barra de herramientas. A continuación, te explicamos cómo puedes utilizarla:

  1. Configuración de la actualización automática: En las opciones de Tab Reloader, podrás establecer el intervalo de tiempo en el que deseas que se actualice la pestaña. Puedes elegir entre opciones predefinidas o ingresar un intervalo personalizado.
  2. Selección de pestañas a actualizar: Puedes elegir entre actualizar solo la pestaña activa o todas las pestañas abiertas en tu navegador. Esta opción te brinda flexibilidad para adaptar la extensión a tus necesidades y preferencias.
  3. Notificaciones: Tab Reloader también te permite recibir notificaciones cuando una pestaña se haya actualizado. Esto es especialmente útil cuando estás monitoreando una página web y deseas ser notificado de los cambios importantes.

Beneficios de utilizar Tab Reloader

La extensión Tab Reloader ofrece una serie de beneficios que pueden mejorar tu experiencia de navegación. A continuación, enumeramos algunos de ellos:

  1. Ahorro de tiempo: Al automatizar la actualización de tus pestañas, Tab Reloader te ahorra el esfuerzo de tener que hacerlo manualmente. Puedes concentrarte en otras tareas mientras tus páginas se actualizan automáticamente en segundo plano.
  2. Seguimiento en tiempo real: Si necesitas realizar un seguimiento constante de una página web en particular, Tab Reloader te permite estar al tanto de los cambios más recientes sin tener que estar pendiente de ella constantemente.
  3. Flexibilidad de configuración: La extensión te brinda opciones personalizables para adaptarla a tus necesidades. Puedes establecer el intervalo de tiempo que desees y elegir qué pestañas deseas que se actualicen.
  4. Notificaciones instantáneas: Con la función de notificaciones, recibirás alertas cuando una pestaña se haya actualizado. Esto te permite estar informado sobre los cambios importantes de manera oportuna.

Como mantener activa la sesión

Para obtener esta funcionalidad debemos instalar la extensión o complemento Tab Reloader que se encuentra disponible para los navegadores Chrome, Opera y Firefox.

Una vez instalada esta extensión al hacer click sobre su ícono tendremos el siguiente menú 

Una vez que nos encontramos en la solapa en la cual queremos mantener abierta la sesión tendremos que habilitar la opción de recargar la pantalla y ajustar el tiempo en minutos entre cada recarga, por omisión viene determinado en 5 minutos. Por lo que hemos probado en la página inicial de la AFIP con ese valor por omisión es suficiente para mantener la sesión activa. El mismo resultado hemos obtenido en el servicio Comprobantes en Línea. En otros servicios habrá que probar y en todo caso reducir ese valor de tiempo entre recargas.

De esta forma la sesión se mantendrá activa hasta que deshabilitemos la recarga con la herramienta o bien hasta que cerremos la pestaña en la que lo hemos habilitado. 

«Tab Reloader» lets you reload each browser tab with a custom time-frame. Tab Reloader supports Chrome, Opera and Firefox browsers. The extension offers different reloading options such as random time generation and supports session restore.

  • An option to define variable reloading times
  • An option to prevent reloading when tab is active
  • Stores tab reloading jobs after a restart
  • Wide reloading range from 10 seconds to 10 days

FAQs

  1. What is Tab Reloader extension?Tab Reloader extension is design to provide full customization on how each browser tab gets reloaded. The extension can be used to update tabs to freshen their content.
  2. recommended Â«Weather Forecast» extension for ChromeEdgeFirefox, and Opera browsersGet local and long-range weather forecasts (including feels-like temperature) for multiple locations right in your browser toolbar. Read more here.
  3. What’s new in this version?Please check the Logs section.
  4. Is it possible to change the toolbar placement of the Tab Reloader extension?Yes, if you have Tab Reloader on Firefox, read this blog post to learn more about how to customize the position of Tab Reloader.
  5. How can I setup a new reloading job?Simply switch to the tab you would like to be reload periodically. Now open the toolbar panel/popup. If the toolbar icon is not gray, it means the tab already has a reloading job. You need to cancel the job first before assigning a new job. Now adjust the period in the «Adjust Reloading Time» section and press «enable» button. At this point, the color of toolbar button as well as the counter both will change. Also there is a count down timer in the «Status» section of the toolbar panel/popup.
  6. What is the meaning of the badge number?The badge number indicates the number of active reloading tabs. If you close a tab with a reloading job, the counter decrements by one.
  7. Do I need to disable a reloading job before closing a tab?No, if you are done with a tab with reloading job, you can simply hit the close button to close the tab. The extension monitors tabs, and the toolbar counter will adjust itself when a new job is added or removed.
  8. Is there a minimum time period for tab reloading?Currently, the minimum acceptable time period is 10 seconds. This might be changed in the future to make sure the count down starts after tab’s is fully loaded to prevent unnecessary reloads.
  9. Are the countdowns persistent across browser sessions?As of version 0.1.2, the extension stores up to 20 URLs for cross-session restoring of countdowns. Please note that there are several limitations with the restoring method. First, URL matching technique is used to restore tabs as all tab related identifications are session based. So assuming you have two identical tabs with different countdowns, after a reboot the most recent countdown will be used for both tabs. Also note that if a tab was active before a reboot, it will be activated after a restart as long as the URL still matches the old one.
  10. Are there any exceptions for tab reloading after a reboot?Yes, system URLs (chrome://, resource://, and about:) are not restore-able. Meaning there would be no countdown for these kind of tabs after a restart.
  11. Is it possible to clear the stored URL list to prevent cross-session tab reloading?By default this extension remembers up to 20 reloading jobs to restore them after a reboot or a crash. If this is not your preference, go to the options page and uncheck the option. You can press the «Reset» button to clear the current history as well.
  12. I need to reload many tabs upon start-up. It is really hard to define a reloading job for each tab. Can I do this in batch?Yes. Go to the options page and define a JSON string like this example. Tab Reloader will match all the tabs with the hostnames in the JSON key, and if a tab matches, an automatic job is set for this particular hostname. You can add as many hostnames as you like. As of version 0.5.3, you can use the «url» keyword instead of «hostname» to have more control over what tab reloads. The «url» keyword supports three types of matching. Prepend this key with «pt:» to use URLPattern matching. Prepend it with «ht:» to have hostname matching, and prepend it with «re:» to have regular expression matching (Two «\» chars are required for escaping). Use URLPattern or RegExp matching to target specific URLs, not the entire hostname. For instance, you can reload a subdomain or when a hostname has a keyword in it.Note that with these two new keywords for the «url» key, there is no need to use policy to limit your reloading jobs based on their URL pattern.[{ "hostname": "*.google.com", "dd": 0, "hh": 0, "mm": 1, "ss": 0 }, { "dd": 0, "hh": 0, "mm": 2, "ss": 0, "url": "re:.*\\.wikipedia\\.org\\/wiki\\/Book" }, { "dd": 0, "hh": 0, "mm": 3, "ss": 0, "url": "pt:*.wikipedia.org/wiki/Cat" }]In this example, the extension reloads all tabs with the matching hostname of «www.google.com» every 1 minute. The second command uses regular expression matching to limit the reloading job to Wikipedia pages that contain the «Book» keyword. The third command uses URLPattern matching with a wildcard to reload Wikipedia pages that contain the «Cat» keyword.URL Pattern TesterPatternBase URLLinks
  13. What is the meaning of «Use cache when reloading»?If this option is disabled, the extension forces the browser to refresh the tab without using resources from local cache (all images, scripts, …) will be fetched from the server (similar to Shift + F5). If the option is enabled, the extension uses browser cache to reload resources (similar to F5).
  14. There are some websites that I always want to be reloaded with a defined period (like news websites). Is it possible to ask the extension to set a reloading job for these websites once they get opened in a new browser tab or from the bookmarks?Yes, go to the options page and define the custom JSON object to match these websites. You will need to define a new rule per hostname. There is a sample button that can guide you on how to prepare the JSON object. Now check the option box below the JSON editor which asks the extension to match all the newly opened hostnames to the JSON object. If a key matches, the rule will be applied to the tab. Since the rule is tab-based, even if you load a new page with another hostname inside the tab with an active job, the job applies to the new hostname too.
  15. What is the «Reloading Policy» object on the options page and how can I use it?This object is introduced in version 0.2.9, and can store policy rules for each domain. The keys of this object are the hostnames and the values are the rules. Since the key string accepts wildcards, you can match all hostnames with «*». Each key has a value of object type in {«date»: «valid regexp», «url»: «valid regexp»} format. The «date» key is used to match the current time to the local date string and the «url» key is used to match the current URL with the provided regexp. Note that you can skip one of the «url» or «date» keys if it is not needed. If both keys exist, the regular expression for both must match for the reloading job to take place. Let’s say we only want to reload www.example.com only between 2:00 PM to 4:00 PM. The object would be{ "*.example.com": { "date": " [23]:.*PM" } }Since the local date string looks like 10/7/2019, 2:47:35 PM, the [23]:.*PM string is a valid regular expression that only matches with the local date object only between 2:00 PM to 4:00 PM. You can test the regexp in the browser console / [23]:.*PM/.test('10/7/2019, 2:47:35 PM'). Of course, you can write a more complex expression that matches this time period too. Note that the policies are checked just before the tab is reloaded, so you can basically stop a tab that has an active reloading job with the reloading policies.If you need to match for instance between 8:00 AM to 5:59 PM, use an expression similar to ( [89]:.*AM)|( 1[01]:.*AM)|( 12:.*PM)|( [12345]:.*PM) which contains four sections. The first one matches 8:00 AM to 9:59 AM. The second one matches 10:00 AM to 11:59 AM. The third one matches 12:00 PM to 12:59 PM and the last one matches 1:00 PM to 5:59 PM. See issues/65 as an example.
  16. What is the newly introduce code section on the browser popup and why it is disabled by default?This section allows the user to run a custom JavaScript code after each refresh. To enable code injection, the extension needs to have permission to this hostname. To do so click on the «Permit Code Execution» button once for each hostname that you would like to inject custom JavaScript code. Now insert your code on the box and this code will be injected to each page after each reloads. To check for errors, use the inspect item from the right-click context menu over the page that the code is injected to.
  17. Can I ask the extensión Tab Reloader to play a beep sound after each refresh?As of version 0.3.2, you can ask the extension to run a custom JS code after each refresh. So to play a sound you can use the following JS code(new Audio('https://www.w3schools.com/html/horse.ogg')).play()
  18. Can I ask the extension to stop reloading after single reloading occurs?The custom code section accepts a special signal to toggle reloading. Use the following code in the custom JS section to stop reloading just after the first reloading.window.setTimeout(script => script.dispatchEvent(new Event('toggle-requested')), 1000, document.currentScript);Of course you can stop the reloading after a few times just by setting a localStorage variable and update it after each reload. Then send the toggle signal when the reloading count matched.
  19. In the Firefox browser, the «Permit Code Execution» button is not working. Why?Seems like Firefox is not yet able to open the permission box issued by a browser action’s popup. For now, the only workaround is to allow host permission from the options page. This permission allows the extension to run a user requested code in an arbitrary hostname.
  20. Is it possible to use this extension to get notified when the content of a page changes?We can convert the page content to a hash code and use it to evaluate whether there is a new update or not. Since the hash string is small, we can save it in the page’s local storage for later use. The following code calculates the SHA256 hash code from the entire page’s content (you can even limit the code to use the content of a particular HTML element) and stores it in a persistent variable. This hash code is calculated after each page refresh. If the value changes, the user gets a sample sound alert. For 0.5.x versions, you can use the pop-up interface to observe document changes without writing your custom JavaScript code. As of the version 0.5.3 release, if the page has the «tab-reloader-element» local storage variable, it will be used to find the specific element. In case this variable is not set, the hash code of the parent element is calculated. Also, you can control the volume level by providing a value between zero and one for «tab-reloader-volume» local storage.{ async function sha256(message) { const script = document.currentScript; const msgBuffer = new TextEncoder('utf-8').encode(message); const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer); const hashArray = Array.from(new Uint8Array(hashBuffer)); const hashHex = hashArray.map(b => ('00' + b.toString(16)).slice(-2)).join(''); return hashHex; } sha256(document.body.innerText).then(hash => { const oh = localStorage.getItem('tab-reloader-hash'); if (oh && oh !== hash) { script.dispatchEvent(new CustomEvent('play-sound', { detail: 'https://www.w3schools.com/html/horse.ogg' })); } localStorage.setItem('tab-reloader-hash', hash); }); }To use a custom sound, use:localStorage.setItem('tab-reloader-sound', 'https://www.w3schools.com/html/horse.ogg')
  21. Is it possible to reset the reloading timer when there is an activity on a tab (auto-reload only after a defined idle time is passed)?This extension supports injecting a user-defined custom script to the webpages that are reloaded. Also, it supports the script to change the enabling state. Combining these two features you can inject a script that monitors the user activity and requests the reset. The following code is sensitive to user clicks and typing and resets the timer accordingly after 0.5s passes.{ const script = document.currentScript; const reset = () => { console.log('Reset the Timer'); script.dispatchEvent(new Event('toggle-requested')); clearTimeout(reset.id); reset.id = setTimeout(() => script.dispatchEvent(new Event('toggle-requested')), 100); }; const action = () => { clearTimeout(action.id); action.id = setTimeout(reset, 500); }; document.addEventListener('click', action); document.addEventListener('input', action); }
  22. Playing sound with the suggested «new Audio» JavaScript code is not working properly for me when the tab is not active. Why the sound is not being played?Some browsers do not allow inactive tabs from auto-playing media files to protect users. Since v0.3.4, you can use the following alternative code to play media sounds:{ const script = document.currentScript; window.setTimeout(() => { script.dispatchEvent(new CustomEvent('play-sound', { detail: 'https://www.w3schools.com/html/horse.ogg' })); }, 500); }In this meethod, the script asks the background page to play the music.
  23. Is it possible to conditionally focus a tab with the injected script?As of version v0.3.4, you can send the «activate-tab» event to the script to bring the sender tab to the front. This code asks the background script to focus the sender’s tab.{ const script = document.currentScript; window.setTimeout(() => { script.dispatchEvent(new Event('activate-tab')); }, 500); }
  24. Is it possible to postpone the next reloading job with an arbitrary value from the injected script? As of version 0.3.6, there is a new custom event called «delay-for» which can be used to delay the next reloading job with an arbitrary positive or negative value. For instance, to postpone the next reloading job an extra 30 seconds use:{ window.setTimeout(script => { script.dispatchEvent(new CustomEvent('delay-for', { detail: 30000 })); }, 1000, document.currentScript); }In this example, consider the reloading period is 5 minutes. With this extra delay, the next reloading occurs 5 minutes and 30 seconds from the script execution. This event can be used to schedule the next reloading job. For instance, say you don’t need the tab to be reloaded during the daytime. Write a JavaScript code that compares the current time with your preferred schedule, and if the condition matches, delay the next reloading job until the period is over.
  25. When I am trying to reload a webpage I get a confirmation message like «This page is asking you to confirm that you want to leave – data you have entered may not be saved» or «Changes you made may not be saved». Is there any way to automatically bypass these warning with this extension?You can enable script injection and delete the function that causes these warnings. Note that you are disabling an important warning with this code, so use it with caution.{ window.onbeforeunload = ''; document.onbeforeunload = ''; document.body.onbeforeunload = ''; }Note that you are going to get the warning on the first reload and you should manually accept it since this script is only injected after each reload.
  26. I want this extension to skip active browser tabs in all windows. Currently, it only considers the active tab in the current window as the active one. Is it possible?As of version 0.3.7, the extension only prevents the active tab in the active window from automatic reloading if the option is checked on the popup. If you need to extend this behavior to all active tabs on browser windows, go to the options page and check the ‘Consider one tab per browser window as an «active tab»‘ option.
  27. Here is the list of all supported actions that injected script can do:
    • toggle-requested: Toggles the enable state of a job. This is useful to stop reloading when a condition met.
    • activate-tab: Brings the tab and the window that dispatches this event. This is useful to bring the user’s attention when a condition met.
    • play-sound: Plays a sound that is provided by the «detail» object of the custom event. This function can be used to play a sound even if a tab is not active.
  28. Here is the list of all supported keywords for code injection:
    • hostname: Exact hostname (e.g.: hostname: ‘www.google.com’) or wildcard hostname (hostname: ‘*.google.com’)
    • dd: Reload after dd days (a number between 0 to 10) (e.g.: dd: 2)
    • hh: Reload after hh hours (a number between 0 to 23)
    • mm: Reload after mm minutes (a number between 0 to 59)
    • ss: Reload after ss seconds (a number between 0 to 59)
    • variation: Use a random variation (a number between 0 to 99) (e.g.: variation: 10)
    • current: If true, active tab will not be reloaded (e.g.: current: true)
    • cache: If true, soft reloading is used (similar to F5). If false, hard reloading is used (similar to Shift + F5)
    • form: If true, form submission warning is bypassed (e.g.: form: true)
    • code: JavaScript code to be executed after each reload (e.g.: code: «console.log(‘ok’);»)
  29. Supported keyboard shortcuts (for version v0.5.0):Close PopupShift + Escape KeyStop TimerEscape KeyEnable TimerS KeySelect a presetCtrl + 1/9 Keys
  30. Is it possible to reload between the provided time frames only? As of version 0.5.5, you can define multiple time frames on the popup interface. The reloading only happens if the current time matches at least one time frame. To have more than one time frame, separate them with a comma.Example:00:00:00 - 01:00:00, 12:30:00 - 13:30:00

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *