Arrêtez les pages Web d'actualisation automatique Safari dans Mac OS X Lion

Un nouvel ajout à Safari 5.1 sous Mac OS X 10.7 est l'actualisation automatique des pages Web si elles sont laissées inactives pendant un certain temps. La fonctionnalité peut sembler inutile et même ennuyante, mais il n'y a pas d'option de préférence claire pour désactiver le rechargement des pages. Heureusement, Stormcloud (via DaringFireball) nous montre comment arrêter ce comportement embêtant dans Safari 5.1. Voici le play-by-play pour le désactiver:

  • Quittez Safari, puis lancez le Terminal (situé dans / Applications / Utilities /) et entrez la commande suivante
  • defaults write com.apple.Safari IncludeInternalDebugMenu 1

  • Relancez Safari et vous verrez un menu "Debug" apparaître à l'extrême droite, à côté de "Aide" (oui, c'est différent du menu Développer)
  • Déroulez le nouveau menu Déboguer et faites défiler vers le bas jusqu'à ce que vous voyiez "Utiliser des fenêtres multi-processus" et sélectionnez-le pour qu'il ne soit pas coché
  • Ouvrez une nouvelle fenêtre Safari et si vous voyez un [SP] à côté du titre des pages Web, vous êtes maintenant en mode de processus unique, ce qui empêche le rafraîchissement automatique des pages Web

Si vous vous demandez pourquoi la modification de certains paramètres appelés «fenêtres multi-processus» entraîne un rechargement automatique des pages Web, Stormcloud fournit une bonne description de cette fonctionnalité et de son fonctionnement:

Alors qu'est-ce qu'une "fenêtre multi-processus" de toute façon?

L'une des nouvelles fonctionnalités de Safari 5.1 est une nouvelle version majeure du moteur sous-jacent - WebKit2. Sous la nouvelle architecture de processus de WebKit2, Safari se compose de deux processus distincts - le "processus d'interface utilisateur" (l'application Safari elle-même, y compris la barre d'adresse, la barre d'outils, la barre de favoris, les menus, etc.). cela charge et affiche les pages Web réelles).
En dehors des autres objectifs, le but est de fournir une certaine protection contre les accidents. Bien que cela empêche l'application Safari de s'écraser (du moins autant que je l'ai vu), cela ne vous empêche pas de perdre tout ce que vous avez tapé dans les champs de texte des pages Web. Tout le contenu Web est géré par un seul processus Web. Par conséquent, si une page est défectueuse et provoque le blocage du processus Web, tous les onglets ouverts seront rechargés et tout ce que vous avez tapé dans l'une de ces pages sera perdu. De plus, tous les téléchargements en cours seront également arrêtés; vous pourriez être en mesure de reprendre certains téléchargements, mais beaucoup devront être recommencés. Cela peut être très frustrant lors du téléchargement de fichiers volumineux.

Pour cette raison, les avantages de la nouvelle architecture multiprocessus sont douteux, du moins jusqu'à ce qu'Apple parvienne à résoudre le problème de rechargement spontané des onglets (en supposant qu'il soit possible d'empêcher ce comportement sans redéfinir l'architecture globale de WebKit).

Fondamentalement, c'est une fonctionnalité bien intentionnée, mais elle cause aussi des maux de tête. Dans certains cas, Safari occupe beaucoup plus de mémoire que nécessaire et peut même ralentir les applications. Vraisemblablement, tout cela sera corrigé dans une mise à jour logicielle.

La grande mise en garde à propos de l'exécution de Safari 5.1 en mode mono-processus: de nombreux plugins et extensions ne fonctionnent pas, notamment (et de manière agaçante) des bloqueurs de publicité, ClickToFlash et 1password. Vous devrez décider si ce compromis en vaut la peine, ou vous pouvez toujours utiliser Chrome ou Firefox aussi.