Stop Safari automatisk forfriskende websider i Mac OS X Lion

En ny tilføjelse til Safari 5.1 i Mac OS X 10.7 er, at websider automatisk opdateres, hvis de ikke er aktive for en periode. Funktionen kan virke unødvendig og endog irriterende, men der er ingen klar valgmulighed for at deaktivere genindlæsning af sider. Heldigvis viser Stormcloud (via DaringFireball) os hvordan du stopper denne irriterende opførsel i Safari 5.1. Her er play-by-play for at deaktivere det:

  • Afslut Safari, og start derefter Terminal (placeret i / Programmer / Hjælpeprogrammer /) og indtast følgende kommando
  • defaults write com.apple.Safari IncludeInternalDebugMenu 1

  • Genstart Safari, og du får se en "Fejl" -menu vises langt til højre sammen med "Hjælp" (ja, det er forskelligt fra menuen Udvikle)
  • Træk den nye Debug-menu ned og rul ned ad en måde, indtil du ser "Brug Multi-Process Windows" og vælg det, så det ikke er markeret.
  • Åbn et nyt Safari-vindue, og hvis du ser en [SP] ved siden af ​​titlen på websider, er du nu i single process mode, hvilket forhindrer automatisk opdatering af websider

Hvis du undrer dig over, hvorfor ændre omgivelser, der hedder "multi-process windows", effekter automatisk genindlæsning af websider, giver Stormcloud en god beskrivelse af, hvad denne funktion er, og hvordan den fungerer:

Så hvad er et "multi-proces vindue" alligevel?

En af de nye funktioner i Safari 5.1 er en stor ny version af den underliggende motor - WebKit2. Under WebKit2s nye procesarkitektur består Safari af to separate processer - "UI-processen" (selve Safari-applikationen, herunder adresselinjen, værktøjslinjen, bogmærkebjælken, menuerne osv.) Og "webprocessen" (en selvstændig proces det laster og viser faktiske websider).
Bortset fra andre mål er formålet med dette at give en vis grad af kollisionsbeskyttelse. Selvom det forhindrer hele Safari-applikationen i at kollapse (i det mindste så vidt jeg har set), beskytter den dig ikke mod at miste noget, du har skrevet i tekstfelter på websider. Alt webindhold håndteres af en enkelt webproces, så hvis en side fejler og forårsager webprocessen at gå i stykker, vil alle åbne faner genindlæses, og alt, hvad du har skrevet til nogen af ​​disse sider, vil gå tabt. Desuden vil eventuelle downloads, der er i gang, også blive standset; du kan muligvis genoptage nogle downloads, men mange bliver nødt til at blive startet. Dette kan være meget frustrerende, når du henter store filer.

Derfor er fordelene ved den nye multi-procesarkitektur noget tvivlsom, i det mindste indtil Apple klarer at løse problemet med spontant genindlæsning af faner (forudsat at det endda er muligt at forhindre denne adfærd uden at omdanne den samlede arkitektur af WebKit igen).

Dybest set er det en velmenende funktion, men det forårsager også nogle brugers hovedpine. I nogle tilfælde får Safari til at tage langt mere hukommelse op, end det burde, og det kan endda forårsage langsom nedtrafik. Formentlig alt dette vil blive rettet i en softwareopdatering selv.

Den store advarsel om at køre Safari 5.1 i single-process mode: mange plugins og udvidelser virker ikke, især (og irriterende) ad blokkere, ClickToFlash og 1password. Du bliver nødt til at afgøre, om den afvejning er værd, eller du kan altid bare bruge Chrome eller Firefox.