Stopp Safari automatisk forfriskende nettsider i Mac OS X Lion

Et nytt tillegg til Safari 5.1 i Mac OS X 10.7 er at nettsidene automatisk oppdateres hvis de ikke er aktive for en periode. Funksjonen kan virke unødvendig og til og med irriterende, men det er ikke noe klart valg for å deaktivere lading på sider. Heldigvis viser Stormcloud (via DaringFireball) hvordan du stopper denne irriterende oppførelsen i Safari 5.1. Her er play-by-play for å deaktivere det:

  • Avslutt Safari, og start deretter Terminal (plassert i / Programmer / Verktøy /) og skriv inn følgende kommando
  • defaults write com.apple.Safari IncludeInternalDebugMenu 1

  • Slå på Safari på nytt, og du får se en "Feilsøking" -menyen vises til høyre, sammen med "Hjelp" (ja, dette er forskjellig fra utviklingsmenyen)
  • Trekk ned den nye Debug-menyen og bla nedover måter til du ser "Bruk Multi-Process Windows" og velg den slik at den ikke er merket
  • Åpne et nytt Safari-vindu, og hvis du ser en [SP] ved siden av nettsidens tittel, er du nå i enkeltprosessmodus, som forhindrer automatisk oppdatering av nettsider

Hvis du lurer på hvorfor endring av innstillinger kalt "multi-prosess windows" effekter automatisk lasting av nettsider, gir Stormcloud en god beskrivelse av hva denne funksjonen er og hvordan den fungerer:

Så hva er et "multi-prosess-vindu" uansett?

En av de nye funksjonene i Safari 5.1 er en stor ny versjon av den underliggende motoren - WebKit2. Under WebKit2s nye prosessarkitektur består Safari av to separate prosesser - "UI-prosessen" (selve Safari-applikasjonen, inkludert adressefeltet, verktøylinjen, bokmerkelinjen, menyene, etc.) og "webprosessen" (en selvstendig prosess som laster og viser faktiske nettsider).
Bortsett fra andre mål, har formålet med dette å gi noe mål for krasjbeskyttelse. Selv om det hindrer hele Safari-programmet fra å krasje (i det minste så langt jeg har sett), beskytter det ikke deg mot å miste alt du har skrevet inn i tekstfelt på websider. Alt webinnhold håndteres av en enkelt webprosess, så hvis en side feiler og forårsaker webprosessen å krasje, vil alle åpne faner lastes på nytt, og alt du har skrevet inn på noen av disse sidene, vil gå tapt. Videre vil eventuelle nedlastinger som pågår også stoppes; Du kan kanskje gjenoppta noen nedlastinger, men mange må starte over. Dette kan være veldig frustrerende når du laster ned store filer.

Derfor er fordelene ved den nye multi-prosessarkitekturen noe tvilsom, i hvert fall til Apple klarer å ta opp spørsmålet om spontant gjenopplasting av faner (forutsatt at det er mulig å forhindre denne oppførselen uten å omdirigere den generelle arkitekturen til WebKit igjen).

I utgangspunktet er det en velsignet funksjon, men det forårsaker også noen brukerhodepine. I noen tilfeller fører det til at Safari tar opp mye mer minne enn det burde, og det kan til og med føre til langsom nedtrapping. Formentlig alt dette vil bli løst i en programvareoppdatering skjønt.

Den store advarselen om å kjøre Safari 5.1 i enkeltprosessmodus: mange plugins og utvidelser virker ikke, spesielt (og irriterende) ad blokkere, ClickToFlash og 1password. Du må avgjøre om avviket er verdt det, eller du kan alltid bare bruke Chrome eller Firefox.