IE7 side-by-side con IE6

UPDATE: Con la versione Beta 3 questa procedura non funziona: JonGalloway ha aggiornato la sua guida, e ha pubblicato una nuova procedura

Con l'uscita della IE7 beta 2 di settimana scorsa il mondo dei designer è andato in subbuglio per tutte le "perdite" degli hack CSS che si erano resi necessari con le precedenti versioni.

Ma come fare per corregerli? Prima ancora di seguire tutte le indicazioni del team di IE e della community di designer è necessario installare IE7. Ma IE7 è un componente di sistema (vedi punto 4 sulla FAQ di IE7), e quindi la sua installazione toglie la possibilità di continuare ad usare la versione 6.

Fortunatamente è possibile lanciare IE7 in modalità "standalone" senza doverlo installare, ma per far questo è necessario modificare ogni volta il registro per "spostare" la versione corrente di IE dalla 6 alla 7 e viceversa.

Ecco come fare (il seguente è una traduzione in italiano degli step presi dal sito di JonGalloway):

  • Scaricate dal sito MSDN l'ultima versione della beta di IE7
  • Scompattate il file di installazione in una cartella
  • Create un file IE7.bat con il contenuto qui sotto
  • Per lanciare IE7 basta doppio-cliccare sul file bat, si aprirà una finestra di dos che farà delle robe strane (tipo creare a runtime un file .reg e poi lanciarlo per modificare il registro) e poi partirà IE7
  • Per chiudere IE7 ricordarsi di chiudere la finestra del browser (non la finestra del command prompt altrimenti poi rimanete bloccati alla 7, ma siccome non l'avete installata "your pancreas may implode")

 

@ECHO OFF
TITLE IE7 Launcher 1.4

ECHO 
IE7 STANDALONE LAUNCHER 1.4
ECHO 
Updated for IE7 Beta Preview
ECHO.
ECHO Do not close this window or it will not clean up after itself properly.
ECHO You can pass a URL into this batch filelike this:
ECHO ie7.bat www.microsoft.com
ECHO.
ECHO More info here: http://weblogs.asp.net/jgalloway/archive/2005/12/28/434132.aspx
ECHO.
ECHO When you close IE7this will remove the registry key and shut itself down.
ECHO.
ECHO Setting up IE7 for standalone mode...
PUSHD %~dp0

ECHO Removing IE7 registry key and set the version vector to "7.0000".
%TEMP%.\IE7Fix.reg ECHO REGEDIT4
>>%TEMP%.\IE7Fix.reg ECHO.
>>
%TEMP%.\IE7Fix.reg ECHO [-HKEY_CLASSES_ROOT\CLSID\{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}]
>>
%TEMP%.\IE7Fix.reg ECHO [-HKEY_CLASSES_ROOT\Interface\{000214E5-0000-0000-C000-000000000046}]
>>
%TEMP%.\IE7Fix.reg ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version Vector]
>>
%TEMP%.\IE7Fix.reg ECHO "IE"="7.0000"
>>%TEMP%.\IE7Fix.reg ECHO.
:: Merge the REG file to delete the IE7 standalone entry
REGEDIT /%TEMP%.\IE7Fix.reg

REN SHLWAPI.DLL SHLWAPI.DLL.BAK
TYPE NUL IEXPLORE.exe.local
ECHO Running IE7...
iexplore.exe "%1"

:: Merge the REG file to delete the IE7 standalone entry
REGEDIT /%TEMP%.\IE7Fix.reg
:: Delete the temporary REG file
DEL %TEMP%.\IE7Fix.reg

ECHO Removing IE7 standalone files...
REN SHLWAPI.DLL.BAK SHLWAPI.DLL
DEL IEXPLORE.exe.local

:: Set the old version vector "6.0000".
%TEMP%.\IE7Fix.reg ECHO REGEDIT4
>>%TEMP%.\IE7Fix.reg ECHO.
>>
%TEMP%.\IE7Fix.reg ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version Vector]
>>
%TEMP%.\IE7Fix.reg ECHO "IE"="6.0000"
>>%TEMP%.\IE7Fix.reg ECHO.
REGEDIT /
%TEMP%.\IE7Fix.reg
DEL %TEMP%.\IE7Fix.reg

POPD
ECHO 
Completeclosing...

 

A me funziona, e non vedo criticità nell'usare questa tecnica: gli unici due problemi che vedo sono:

  • cosa succede se crasha IE7? il file bat di "chiusura" continua a girare o bisogna sistemare il registro a mano?
  • Non si può far girare in contemporanea IE7 e IE6 per fare le prove, ma sempre uno per volta.

Però penso di poter sopravvivere con queste limitazioni.

powered by IMHO 1.3

«February»
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
2627281234
567891011