2007 September 9, 2007

IE 6 location.href Problemer

Har du bemærket nogle gange, hvordan simple ting, der bare nægter at arbejde i IE6 ... location.href er bare sådan en ting.

Hvis du har tilføjet en onclick funktion til din anker tag som nedenfor ...

<a href="javascript:void(0);" onclick="onClickLink('xxx');"> gå til nyt sted </ a>

Med en funktion som denne ...
Funktionen onclickLink (id) {
var URI = "test2.html id =?" + id;
window.location.href = URI;
}

Til din ironi ville du opdage, at sådan et stykke simpelt script nægter at arbejde i IE ... Nå! Jeg kan diskutere grunde her, men tror ikke det vil være umagen værd ... Men, jeg synes at have en løsning ... (Jeg vil vædde på, hvis du forstår Javascript, vil du forstå, hvorfor vi tilføje dette tweak til IE6)

Løsningen

<a href="javascript:void(0);" onclick="onClickLink('xxx'); afkast false; "> gå til nyt sted </ a>

Hvis du nogen enkle svar, skal du gøre skrive en kommentar. Det vil virkelig blive appretiated, jeg vil vædde, af mange!


2007 September 8, 2007

For din IES Kun

Hvis du har skrevet CSS for tid, ville du have opleve de tidspunkter, hvor du bogstaveligt talt trække dit hår, når dine CSS-layouts så fint i alle de nye browsere (jeg mener browsere senere end IE6), men IE 6 kaster en raserianfald. Du kæmper hårdt for at tilpasse din CSS, men det virker ikke ... Nå! Prøv disse hacks ...

1. Understregning Hack: -
Pr. definition, giver CSS 2,1 specifikation underscore ("_") i CSS identifikatorer. Men mange browsere stadig synes at ignorere alle identificerer fortsatte med et understregningstegn, men IE. Dette IE har fejl / funktion bliver således en meget klar måde at indstille CSS egenskaber for IES kun. så husk, A CSS ejendom skrevet med understregning på starten er synlig for Internet Explorer (alle versioner, men IE 7)

#box {
min-height: 300px;
height: auto;
_height: 300px; /* all IE versions less than version 7 */
...
}

Se demonstration af denne understregning hack

Også den min højde hack for IE6 bruger underscore hack, tjek


2. Hash (#) Hack: -
Ligesom understregningstegn hack, denne ene er er også for IES oly, med en god forskel, ejendom identifikatorer forud med # på starten er synlig for alle IE-versioner, IE7 inkluderet og er usynlig for enhver anden standard browser.

.obj_container {
display: table-cell;
vertical-align: middle;
#position: absolute; /* For IE only */
#top: 50%; /* For IE only */
#left:50%; /* For IE only */
}

Dette hack er blevet brugt pænt at vise en cross browser lodret tilpasse løsningen, have et kig på denne artikel for at finde vores mere


3. CSS til IE6 kun: -
#my_bad_behaving_div {
/*something for all browsers*/
}
/* Lets use the * html hack so only IE6 reads the rule */
* html #my_bad_behaving_div{
/*something for IE6 only*/
}

Disse hacks synes sendt fra himlen, når intet andet virker ... Hvis nogen af ​​disse hacks redder dit liv en dag, dont glemmer at behandle mig på en kop kaffe :)


2007 12 juli 2007

Mouseover begivenhed i en gennemsigtig fordeling i IE

Jeg havde dette problem, hvor, hvis du havde en mouseover begivenhed på en division (DIV), og at opdeling af en eller anden god grund skulle være transparent (som i mit tilfælde, hvor det blev forpligtet til at vise nogle tags over et billede på mouseover af denne gennemsigtig fordeling), IE ikke udløse mouseover begivenheden (virkede fint i FireFox).

Forsøgte flere muligheder ... hvoraf mange var bare et desperat forsøg på at få begivenheden til at fyre i IE. En af de fornuftige dem, som jeg troede kunne arbejde var at sætte en baggrundsfarve til opdeling og sæt opacity til nul ... Nå! fordybning arbejde!

Den endelige løsning, som syntes at arbejde og ikke forstyrre den funktionalitet jeg påkrævet var at sætte en én pixel gentaget / transparent baggrundsbillede i denne afdeling

... Silly! men nu IE virker glad.


2007 11 juni 2007

IE6 dobbelt margin bug i svævede elementer

Simple ... For at løse dette problem brug display: inline.

div {float:left;margin:40px;display:inline;}

Hvis du har et flydende element, såsom en div, og du placerer margin højre eller margin venstre på denne del, vil Internet Explorer 6,0 dobbelte margin værdi, rodede op i HTML / CSS layout. For at løse dette skal du blot tilføje display: inline; til din flydende element.


NDK hjem | Udtrykke IT | udtrykke Smag | udtrykke Penmenship | udtrykke Awe | udtrykke mig