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

posted @ venerdì 10 febbraio 2006 13:55

Print

Comments on this entry:

# re: IE7 side-by-side con IE6

Left by Simone Chiaretta at 10/02/2006 14:57
Gravatar
Forse mi sono spiegato male io...
per far andare IE7beta2 basta installarlo... e tutto va ok...
ma siccome IE7 in realtà non è un programma, ma delle librerie di sistema, installandole rimuovi quelle vecchie... quindi IE6 si trasforma in IE7, eventuali altri programmi che usano MSHTML vengono aggiornate al pareser di IE7, ecc...

Quello che ho illustrato è il modo per riuscire a tenerli in contemporanea, ossia, usare IE7 senza installarlo

# re: IE7 side-by-side con IE6

Left by Simone Busoli at 10/02/2006 15:04
Gravatar
Mea culpa, ho letto in fretta io ;)

# re: IE7 side-by-side con IE6

Left by Andrea at 10/02/2006 15:40
Gravatar
Io penso che sia lo stesso poco sana di mente, perchè rimuovere tutti gli hacks che fino ad oggi sono stati necessari per sopperire alla loro mancanza di diligenza nel non seguire gli standard w3c significa mandare a puttane non sò quanti siti internet.
Voglio ben sperare che la loro rimozione, d'altro canto significa avere adottato a pieno quegli standard, de facto non costingendomi quando sarà ora a dover rimettere mano a tutti i siti, che se li vedo con firefox, opera, mozilla funzionano ovviamente bene.

Incrocio le dita e passo.

# re: IE7 side-by-side con IE6

Left by Simone Chiaretta at 10/02/2006 15:47
Gravatar
secondo me parlare di supporto per gli hack è un ossimoro...

è come dire che ora per far andare dritta l'auto tieni il volante 10° a destra perchè hai la convergenza sballata: il meccanico te la raddrizza, e tu ti lamenti perchè ora ti eri abituato a tenere il volante storto e ora sei costretto a raddrizzarlo.

Probabilmente con IE7 ora dovrai tenerlo solo 2° a dx invece che dritto perchè sicuramente qualche altra divergenza di comportamento ci sarà.

# re: IE7 side-by-side con IE6

Left by diana at 14/11/2006 00:09
Gravatar
Comments have been closed on this topic.
«dicembre»
domlunmarmergiovensab
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234