mboost-dp1

unknown

Implementation af tabs i IE7

- Via MSDN Blogs - , redigeret af The-Lone-Gunman

Tony Schreiner, som er en del af IE-udviklingsteamet og som har arbejdet på at få IE til at understøtte tabbed browsing, har på IEBlog skrevet om, hvordan tabbed browsing bliver implementeret i IE7.

Han skriver, at filosofien bag deres tabbed browsing er at brugeren skal have kontrollen. Tabs bliver default i IE Beta 1, men kan slås fra, hvis man ønsker det. Der kommer mange af de features, som man vil forvente af en browser med tabbed browsing, siger han. Der er de forskellige funktionaliteter som andre browsere med tabs har, f.eks. at man kan åbne links i nye tabs ved at midter-klikke eller Ctrl-klikke på dem.

Han skriver desuden om alle de udfordringer, de er støt på i udviklingen af tabs, fortæller om hvordan de har implementeret dem og arbejdet med problemet kompatabilitet. Den største udfordring var, at IE oprindeligt er udviklet som en enkelt-vindue browser og mange af dens features er lavet ud fra den antagelse.





Gå til bund
Gravatar #1 - The-Lone-Gunman
29. maj 2005 00:11
Måske de skulle starte forfra med at kode det, i stedet for at prøve at lappe det sammen. De skal vel aligevel have en helt ny renderingsmoter, så hvorfor ikke lave en helt ny browser også?
Gravatar #2 - mazing
29. maj 2005 00:17
#1 Well... Hvis de skulle udvikle en helt ny browser, ville det tage en del ressourcer, da de ville skulle lave en omfattende del beta-testning. Ny kode åbner muligheden for nye huller. Nok derfor. Helt dumme er de forhåbentlig ikke hos ms.
Gravatar #3 - KaW
29. maj 2005 00:29
#2 >
Det andet lyder i mine øre som en lappe-løsning.


Dog lyder det som nogle fornuftige features de får implementeret, selvom jeg ikke forstår de lader CSS2 være, så kan den fremtidige IE måske støtte mig lidt når jeg powersurfer på min skole som dræber alle gecko-baserede browsere når de bliver startet (Da gecko baserede browsers start indstillinger kan gå uden om skolens proxy, ja det virker som om de it-folk har styr på det).

"hvordan de har implementeret dem og arbejdet med problemet kompatabilitet"
Kommer denne udgave af IE ikke kun til at køre på XP og Longhorn? Det er måske også lidt svært at udvikle til et ikke færdigt produkt som måske ikke bliver helt som planlagt.
Gravatar #4 - STICH
29. maj 2005 03:12
#3 - For MS handler det jo hovedsageligt om at prøve og beholde markedsandele, og derfor er det naturligvis features som tabbed browsing der får størst opmærksomhed; fx er resten af min familie da ragende ligeglad med hvorvidt den understøtter CSS 2, det er noget nørder går op i. Og mange af disse nørder har for længst skiftet over til Firefox eller Opera, og skifter alligevel højst sandsynligt ikke tilbage igen foreløbig (af flere grunde), heller ikke selvom det utænkelige skete, at IE igen skulle blive førende med CSS-understøttelsen.

Desuden gør MS dog trods alt også lidt for at tilfredsstille webudviklere, fx ved at udvide understøttelsen for transparente PNG-billeder, og - langt vigtigere i min lille verden - fikse nogle renderingsbugs (peekaboo og guillotine skulle allerede være på plads, jvf. http://blogs.msdn.com/ie/archive/2005/04/22/410963... og sikkert flere siden da, <bash>de har jo haft rigeligt at tage af</bash>).
Det er bare ikke nok i længden, og eftersom nørder er holdningsdannere når det kommer til ting som browservalg, tror jeg heller ikke MS tør stoppe udviklingen af XP IE igen efter udgivelsen af IE7 - jeg er også sikker på flere af IE-udviklerne gerne selv vil have lov til at blive ved med at udvikle på den - så personligt ser jeg mere frem til en eventuel IE8; så kan det tænkes der er konsekvent brug af W3C-boksmodellen, understøttelse af alle tags, XHTML og ikke mindst alle pseudo-klasser (hvor tingene jo ikke altid bare kan klares med et lille hack, men kræver ekstra markup), og hvad man nu ellers lige kan komme på.

IE7 er forhåbentlig kun et skridt i den rigtige retning...
Gravatar #5 - Windcape
29. maj 2005 03:16
Den største udfordring var, at IE oprindeligt er udviklet som en enkelt-vindue browser og mange af dens features er lavet ud fra den antagelse.


Okaaay, underlig måde at kodet det på :)
Gravatar #6 - Whoever
29. maj 2005 06:50
#5 nu er IE ret gammel
Gravatar #7 - GOOOD
29. maj 2005 07:30
hmmm det er sq da en gammel nyhed... har den ikke været her før? eller er newz 2 uger bagud med nyhederne?
Gravatar #8 - Disky
29. maj 2005 07:46
mazing:
Det er ikke unormalt i software branchen at man skrotter et produkt komplet for at skrive det igen helt fra bunden, med den erfaring man fik fra første version.

Årsagen til dette er at man ikke bare kan blive ved med at patche løs på et gammelt stykke software, dette vil nemlig også medføre masser af huller, da ingen har det fulde overblik over hvordan grundliggende ændringer vil påvirke hele systemmet.

Samtidigt vil sådanne en genskrivning af et program, oftest medføre et mindre blueprint samt hurtigere software.
Gravatar #9 - booost1
29. maj 2005 08:00
OT:
Hvornår kommer der en dl manager med i IE?
Gravatar #10 - MR Bacardi
29. maj 2005 08:09
En af de fejl de bør undgå, er at man via JavaScript kan ændre browser vinduets størrelse, når det er i en tab - Mit FireFox gør følgende:
Jeg går ind på en side, siden åbner en popup, alle popups kommer som tabs ved mig, så når siden vil lave en resize, blokerer FireFox IKKE for dette, hvilket den klart burde gøre, i stedet ændrer den størrelsen på hele mit browser vindue.
Gravatar #11 - -sippo-
29. maj 2005 08:49
#10
Det kan du lave om på under tools>options>web features og så ud fra enable javascript tryk på advanced.
Gravatar #12 - oc
29. maj 2005 08:55
ZZZZZZZZZzzzzzzzzzzzzzz boring gammel kedeligt , eneste "feature" ie brugere skulle kunne se frem til hvis IE 7.0 overholder ALLE w3c standarder og fatter png billeder og alpha blending og så lige et par www teknologier mere.
Gravatar #13 - knasknaz
29. maj 2005 09:01
Opera er tydeligvis lavet med tabs i baghovedet - hvis man ikke kan lide tabs, synes jeg at Opera virker ret klodset. Jeg tror generelt det er svært at få et program til at kunne begge dele ordentligt. Mozilla klarer det dog ret flot, synes jeg.
Gravatar #14 - TullejR
29. maj 2005 09:26
#13:

konqueror virker endnu mere genialt end de andre :P

#10:

du snakker og røven går.. altså undskyld, jeg synes virkeligt det er pis du fyrer af "det burde den.. og det burde den" - du skulle tjekke hvad helved du snakker om og så gøre som #11 siger...

(hvorfor er det altid IE vs Firefox/mozilla vs opera altid? konqi bliver altid overset selvom det er en aldeles udemærket browser)


on topic, fint med alpha blending, men de kunne i det mindste understøtte ting som :hover på _alt_, ligesom alle andre browsere gør - det ville være rart i hvert fald.
Gravatar #15 - raz0
29. maj 2005 09:59
#14 Det er vel egentlig ikke så mærkeligt, når man tager i betragtning, at Konqueror er den eneste af de browsere du nævner, som ikke kører i andet end Linux? Ja, Internet Explorer kører KUN i Windows, men til gengæld bruger 90%+ det OS.
Gravatar #16 - Gecko
29. maj 2005 10:19
Jeg tror heller ikke bare man sætter sig ned og koder en renderingsengine. Det tog f.eks. khtml ret langt tid at få den nogenlunde ordentligt. Mozilla og Mozilla Firefox bygger jo begge på en "lappeløsning" i og med at de har "lappet" på netscapes Gecko engine. Internet Explorers rendering stammer jo også tilbage fra Mosaik browseren, som Microsoft købte for at konkurere med Netscape, så vidt jeg husker.
Gravatar #17 - TullejR
29. maj 2005 10:20
#16:

så kunne det måske være derfor apple valgte khtml til safari - fordi den har den "reneste" codebase?
Gravatar #18 - elvin
29. maj 2005 10:36
#17
Eller, det var måske den eneste med de rigtige licens betingelser, set fra apples synspunkt.

Jeg ser bestemt frem til ie7 - og håber da den kommer til xp - så der kan skæres ned på ie6 brugerne, set ud fra et udvikler synspunkt :)
Gravatar #19 - Gecko
29. maj 2005 11:13
Der er helt sikkert ret mange objektive faktorer der gør khtml til det bedste valg. Ikke mindst fordi at det er en engine der er bygget efter at internettet er blevet så at sige "modent", og ikke en codebase der stammer tilbage fra før der var noget der hed doctypes, og standarter var noget man dansede...
Gravatar #20 - m_abs
29. maj 2005 11:27
#15 Den kan kører på alle *nix platforme som kan kører Qt, det er bl.a. Linux, *BSD og Solaris.
Og når Qt4/Win frigives under GPL burde Konqueror også kunne kører under Windows.
Gravatar #21 - Gecko
29. maj 2005 11:37
Jeg troede at trolltech ikke ville udgive Qt til windows ikke-kommercielt? En KDE udvikler fortalte mig engang at det var fordi at de ville have flere folk til at køre UNIX, for at bruge deres probgrammer... Mærkelig strategi i øvrigt, ikke at det har noget med det her at gøre, men hvis alle folk brugte de samme programmer i Linux og i Windows, tror jeg da netop at folk ville have lettere ved at skifte...
Gravatar #22 - mrmorris
29. maj 2005 11:46
Som jeg læser hans BLOG, er det jo en erkendelse af dårligt design. Men ok, MSIE har jo også en del år på bagen.

Man har fokuseret på at indkapsle komponenter, dvs. gå ud fra at hver renderingsvindue har hver sin status, hver sin toolbar osv. hvilket giver bagslag nu hvor de som tabs skal deles om en enkelt i parent vinduet.
Gravatar #24 - bjerh
29. maj 2005 12:21
#20 er det ikke også Mozilla der har udviklet den?
Gravatar #25 - TullejR
29. maj 2005 12:26
#24:

nej, det er da KDE-holdet der har lavet Konqi..
Gravatar #26 - The-Lone-Gunman
29. maj 2005 12:49
#Dem der klager over nyheder er gammel

Hvis i læser det, så handler den her nyhed ikke om at der kommer tabs (det har vi nævnt før), men mere hvordan det kommer til at virke.
Gravatar #27 - Redhack
29. maj 2005 13:40
#9 Den funktion kommer med i Longhorn.. Funktionen er i hvert fald med i deres Alpha udgave.. Men Microsoft skal jo ikke give alle de fetures ud som kommer i Longhon for så gider folk jo ikke købe produktet..

Tror grunden til at de først kommer med tabs i ie nu, er fordi at de ville blive beskyldt for monopol osv. Microsoft har så ufattelig mange ressurcer og ansatte. De kunne kode det skidt om på en uge hvis de ville..
Gravatar #28 - STICH
29. maj 2005 14:29
#27 - Anden del af dit indlæg er - ærlig talt - en værre gang <beep/>. Selvfølgelig har MS ikke undladt at lave tabs, fordi de var bange for at blive anklaget for monopol; de nedlagde netop arbejdet med IE fordi de HAVDE monopol, og derfor var der ikke meget mere at hente på den front. Og de har ganske sikkert også været fuldt ud klar over det ikke var så ligetil at implementere tabs til den, som denne nyhed jo netop bl.a. omhandler.
Hvad tror du grunden er til, at de pludselig ændrede planen om først at komme med en ny udgave af IE til Longhorn? Det var fordi Mozilla (pga. FF) pludselig vandt en del procenter af markedet, og efter alt at dømme ville fortsætte den fremmarch - hvilket det da forresten stadigvæk ser ud til, fx så man jo senest IBM gå ud og anbefale den. 5-10% lyder måske ikke af så frygtelig meget, men det er alligevel nok til der pludselig begynder at være en så stor gruppe af FF-brugere, at man ikke kan tillade sig blot at ignore den (med en besked om "denne side fungerer kun i IE" i de værste tilfælde). Og det kunne meget vel have udviklet sig til en sneboldeffekt. Men MS har sandsynligvis formået at begrænse noget af tabet af markedsandele pga. planerne om at udgive IE7 til XP. Dog, som jeg også skrev i mit forrige indlæg, næppe nok til at "holde skansen" indtil Longhorn, så forhåbentlig ser vi udviklingen af XP IE fortsætte, også selv efter 7'eren udkommer.

Du har naturligvis ret i, at MS har pengene til at kunne blive førende på hvilket punkt de ville (måske pånær søgemaskine-området, da Google også har en enorm spand penge de kan bruge af, men de gør da ihf. et ihærdigt forsøg på det), men for dem er det vigtigste trods alt at beholde et kæmpe plus på bundlinjen...
Gravatar #29 - mathiass
29. maj 2005 14:31
#27 Det tror jeg ikke. Der har slet ikke været nogen udviklingsafdeling for IE siden for nylig, den har simpelthen været nedlagt, så jeg kan ikke lige se hvem der skulle have kodet det.
Hvorfor skulle tabs føre til beskyldninger om monopol? MS havde jo de facto monopol på browsere, så jeg kan ikke se hvorfor tabs skulle føre til nye beskyldninger. Selvom man har monopol kan man da godt forbedre sit produkt.
Gravatar #30 - JesperJ
29. maj 2005 16:55
Jeg tror bare aldrig Internet Explorer kommer op på Firefox' niveau, tabbed browsing er selvfølgelig et gigantisk skridt drop i mod, men de forskellige udvidelsesmoduler, temaer og andre gejlede ting gør Firefox til den absolut bedste browser på markedet.
Gravatar #31 - utdiscant
29. maj 2005 18:32
Det eneste rigtige microsoft kunne gøre var at implementere CSS 2.0 (tror jeg nok det er) og png billeder og så se at få gjort noget ved den sikkerhed... fuck tabs.. det andet er meget vigtigere.
Gravatar #32 - .dot
29. maj 2005 18:44
#31 - De ting er vigtige på hver deres måde.

Tabs er vigtige for en god "browser eXPerience" (IMO!!!)
Mens CSS2.1(og 3) samt transperant png support er vigtig for udviklerne.

Personligt kan jeg ikke vudere hvad der er vigtigts, men lad os nu tage et skridt adgangen...
Gravatar #33 - Gecko
29. maj 2005 18:57
Css er da også yderst vigtig for brugeren, da vedkommende vil se pænere og mindre tunge hjemmesider... Men ja, du har da ret i, at om det er css 2.1 eller 3 der står er fuldstændig irrelavant for en forbruger at vide, men derfor kommer det stadig brugeren til gode. Transparent png er samme historie.
Gravatar #34 - .dot
29. maj 2005 20:11
#33 - Langt de fleste er da ligeglade med om en side loades, 25 millisekunder hurtigere end før.
Gravatar #35 - bobslaede
29. maj 2005 21:19
Der er langt flere browsere på markedet end Mozilla og IE (Opera og Konquerer er f.eks. blevet nævnt) Der kan også nævnes Omniweb og Safari som 2 absolut super browsere.
Microsoft kommer ikke i frontlinjen med mindre de gør sig meget umage med at overholde w3c standarder, og ikke kun dem de selv finder på.
Der skal meget mere til end kun Alpha Transparency i PNG'er, de skal tænke på Javascript, og med det mener jeg bl.a. DOM.
Webudviklere, som bl.a. mig selv, gider simpelthen ikke at bruge så mange resourcer på at hacke sig igennem CSS, og underlige javascript funktioner. Der skal jo laves 2 sider hver gang man laver én. Én til IE, og én til alle andre browsere på markedet.
Det er ikke kun vigtig for end-user'n at en browser er god, udviklere kan tvinger brugerne til at vælge en browser frem for en anden, forhåbentligt til w3c standarders fordel. Ligesom udviklere i sin tid tvang folk til at bruge IE, da den havde nogle "seje" features....
Det var alt jeg lige kunne finde på nu...
Gravatar #36 - Pakster
29. maj 2005 21:34
pakster forudsiger en del exploits pga tabs
Gravatar #37 - STICH
30. maj 2005 04:51
#35 - Mange problemer med IE kan nu altså fikses nemt med "The Underscore Hack", jeg ved ikke om du kender til det, men det kan fx bruges således:
min-height:10em; _height:10em;
Andre browsere ignorerer de styles med _ foran, mens IE bare ignorerer selve underscoren. Det gjorde ihf. mit liv betydeligt nemmere da jeg lærte det at kende (selvom jeg så er gået væk fra det igen nu, pga. jeg serverer dynamisk CSS); det er naturligvis ikke optimalt, men nok til at jeg ville prioritere understøttelse af pseudo-klasser og <abbr> osv.
Hacket validerer dog ikke, men ER faktisk lovligt ifølge specifikationen: http://www.w3.org/TR/CSS21/syndata.html#tokenizati... !

Og forresten ville jeg nok ikke betegne Omniweb som en super browser, den har altså en del CSS-issues (og IE's mangler retfærdiggører det ikke). Men Konqueror når vel derop indenfor anskuelig fremtid, og Safari lyder da bestemt som en god browser, desværre er det bare ikke altid nemt lige at finde en behjælpelig Mac-bruger til at tjekke ens sider...
Gravatar #38 - bobslaede
30. maj 2005 07:48
#37 bare sig til hvis nogle sider skal tjekkes :p
Der er mange hacks til IE, det ville dog være meget behjælpeligt hvis det ikke var nødvendigt.
Underscore hacken var jeg ikke bekendt med, bruger selv "skråstreg" hacken, som virker ca. på samme måde. f.eks.:
w\idth:10em; Det er dog kun IE6 der ser den, mens du kan bruge "* html" hacken til IEWin generalt, og derved blande dem til forskellige versioner af IE... MEGET rodet, MEGET irriterende at skulle gøre hele tiden... Derfor det ville være super duper med nogle standarde i IE.
Gravatar #39 - dias
30. maj 2005 08:28
Hvordan er det lige at MS tjener penge på at have en større andel af browser-markedet? De bruger da en stor sum penge på at udvikle IE7, men giver den væk gratis? FF er lavet med en bedre browser som mål, mens MS vel har indtjening som mål?
Gravatar #40 - TullejR
30. maj 2005 08:56
#37:

i princippet kan du vel bare teste i IE, firefox og konqueror - safari er jo baseret på konquerors engine - jo mindre apple har tilføjet/ændret en hel masse.. hmm
Gravatar #41 - STICH
31. maj 2005 10:48
#38 - Jo tak!
Jeg brugte også '\' før, men '* html' syntes (og synes) jeg er for træls at skulle have fat i, i og med det er en selektor. Så jeg satsede på folk opdaterede deres browser i stedet - og Mac-folk der bruger IE er jeg ligeglad med. :-P Så JS kommer for mit vedkommende kun på tale, hvis det fx er et problem som det med IEs markering af tekst på en absolut-positioneret side (der i visse tilfælde kan fungere forbavsende elendigt); den slags er jeg dog heldigvis sluppet for indtil videre. :-)
Men ja, forhåbentlig bliver MS nødt til at følge standarderne bedre fremover...

#40 - Tjaa, så vidt jeg har læst, har Apple (dvs. Hyatt) haft gang i en hel del; dog specielt pga. Acid2, og de fixes "til den" snupper Konqueror nok. Men derfor kan der jo fint være forskelle i renderingen alligevel, FF/Win og -/Linux er fx også uenig om flere ting.

#39 - Indirekte. Det gør Windows mere attraktivt, deres søgemaskine mere brugt, og giver en stor magt over nettet (de har nok nydt godt af, at kunne tvinge brugerne til at se på kæmpestore reklamer og des lige, som fx på hotmail). At have monopol på et område, åbner vel altid op for en masse (udnyttelses)muligheder...
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login