Stop Safari Auto-Refreshing Web Pages in Mac OS X Lion

Een nieuwe toevoeging aan Safari 5.1 in Mac OS X 10.7 is dat webpagina's automatisch worden vernieuwd als ze een bepaalde periode inactief worden gehouden. De functie kan onnodig en zelfs vervelend lijken, maar er is geen duidelijke voorkeursoptie om het opnieuw laden van pagina's uit te schakelen. Gelukkig laat Stormcloud (via DaringFireball) ons zien hoe dit vervelende gedrag in Safari 5.1 kan worden gestopt. Hier is de play-by-play om het uit te schakelen:

  • Sluit Safari af, start vervolgens de Terminal (te vinden in / Applications / Utilities /) en voer de volgende opdracht in
  • defaults write com.apple.Safari IncludeInternalDebugMenu 1

  • Start Safari opnieuw en u ziet een menu "Foutopsporing" helemaal rechts naast "Help" (ja, dit verschilt van het menu Ontwikkelen)
  • Trek het nieuwe Debug-menu naar beneden en scrol een paar manieren omlaag totdat je "Use Multi-process Windows" ziet en selecteer het zodat het niet is aangevinkt
  • Open een nieuw Safari-venster en als u een [SP] naast de titel van de webpagina ziet, bevindt u zich nu in de modus voor één proces, waardoor het automatisch vernieuwen van webpagina's wordt voorkomen

Als je je afvraagt ​​waarom het veranderen van een instelling genaamd "multi-process windows" effecten automatisch herladen van webpagina's is, biedt Stormcloud een goede beschrijving van wat deze functie is en hoe het werkt:

Dus wat is een "multi-procesvenster" eigenlijk?

Een van de nieuwe functies in Safari 5.1 is een belangrijke nieuwe versie van de onderliggende engine - WebKit2. Onder de nieuwe procesarchitectuur van WebKit2 bestaat Safari uit twee afzonderlijke processen - het "UI-proces" (de Safari-applicatie zelf, inclusief de adresbalk, de werkbalk, de bladwijzerbalk, menu's, enz.) En het "webproces" (een onafhankelijk proces dat laadt en toont actuele webpagina's).
Afgezien van andere doelen, is het doel hiervan enige mate van bescherming tegen botsingen te verschaffen. Hoewel het wel voorkomt dat de hele Safari-toepassing vastloopt (althans voor zover ik heb gezien), het beschermt je niet tegen het verliezen van alles wat je in tekstvelden in webpagina's hebt getypt. Alle webinhoud wordt afgehandeld door een enkel webproces, dus als een pagina defect raakt en het webproces crasht, worden alle geopende tabbladen opnieuw geladen en alles wat u op een van die pagina's hebt getypt, gaat verloren. Bovendien zullen alle downloads die aan de gang zijn, ook worden stopgezet; mogelijk kunt u sommige downloads hervatten, maar er zullen er veel opnieuw moeten worden opgestart. Dit kan erg frustrerend zijn bij het downloaden van grote bestanden.

Om die reden zijn de voordelen van de nieuwe multi-procesarchitectuur enigszins twijfelachtig, tenminste totdat Apple erin slaagt het probleem aan te pakken van spontane herlaadtabbladen (ervan uitgaande dat het zelfs mogelijk is om dit gedrag te voorkomen zonder de algehele architectuur van WebKit opnieuw te hoeven ontwerpen).

Kortom, het is een goedbedoelde functie, maar het veroorzaakt ook wat gebruikershoofdpijn. In sommige gevallen zorgt Safari ervoor dat het veel meer geheugen gebruikt dan zou moeten, en het kan zelfs vertragingen in de app veroorzaken. Waarschijnlijk zal dit alles echter in een software-update worden opgelost.

De grote waarschuwing over het uitvoeren van Safari 5.1 in single-process-modus: veel plug-ins en extensies werken niet, met name (en irritant) adblockers, ClickToFlash en 1password. Je zult moeten beslissen of dat de moeite waard is, of je kunt altijd ook gewoon Chrome of Firefox gebruiken.