2007 9 de setembro de 2007

IE 6 Problemas location.href

Você já reparou, por vezes, coisas simples como apenas se recusa a trabalhar no IE6 ... location.href é apenas uma coisa dessas.

Se você adicionou uma função onclick à sua marca de âncora como abaixo ...

<a href="javascript:void(0);" onclick="onClickLink('xxx');"> ir para a nova localização </ a>

Com alguma função como esta ...
função onclickLink (id) {
var URI = "test2.html id =?" + id;
window.location.href = URI;
}

Para a sua ironia, você vai notar que tal um pedaço de script simples se recusa a trabalhar no IE ... Bem! Eu posso discutir as razões aqui, mas não acho que vai valer a pena ... Embora, eu não parecem ter uma solução ... (eu aposto que se você entender Javascript, você vai entender, por que adicionar este tweak para o IE6)

A Solução

<a href="javascript:void(0);" onclick="onClickLink('xxx'); retorno false; "> ir para a nova localização </ a>

Se você alguma respostas simples, faça escrever um comentário. Ela realmente vai ser appretiated, eu aposto que, por muitos!


2007 8 de setembro de 2007

Para sua IEs Apenas

Se você tiver sido escrito CSS por enquanto, você teria que experimentar esses momentos em que você literalmente puxar seu cabelo quando seus layouts CSS parecia bem em todos os novos navegadores (browsers quero dizer mais tarde que o IE6), mas o IE 6 joga uma birra. Você lutar duro para ajustar o seu CSS, mas ele não funciona ... Bem! Tente esses cortes ...

1. Sublinhado Hack: -
Por definição, especificação CSS 2.1 permite sublinhado ("_") em identificadores CSS. Mas muitos navegadores ainda parecem ignorar qualquer identifica procedeu com um sublinhado, mas o IE. Este bug do IE / recurso torna-se assim uma maneira muito clara para definir propriedades CSS para IEs só. então lembre-se, uma propriedade CSS escrito com o sublinhado no início é visível para o Internet Explorer (todas as versões do IE, mas 7)

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

Ver demonstração deste sublinhado corte

Além disso, O hack min-height para IE6 usa o hack underscore, confira


2. Corte sustenido (#): -
Como o sublinhado hack, este é também é para IEs oly, com uma diferença boa, identificadores de propriedade precedido por # no início é visível para todas as versões do IE, IE7 incluído e é invisível para qualquer outro navegador padrão.

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

Este hack foi usado muito bem para demonstrar um navegador cruz alinhamento vertical solução, dê uma olhada neste artigo para encontrar o nosso mais


3. CSS para o IE6 só: -
#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*/
}

Esses hacks pareça o paraíso, quando nada mais funciona ... Se qualquer um desses hacks salva sua vida, um dia, não se esqueça de me tratar para um café :)


2007 12 de julho de 2007

Evento mouseover numa divisão transparente no IE

Eu tive esse problema, onde, se você tivesse um evento mouseover em uma divisão (DIV) e que a divisão, por alguma boa razão tinha que ser transparente (como no meu caso, onde foi obrigado a exibir algumas marcas sobre uma imagem no mouseover de esta divisão transparente), o IE não conseguiu disparar o evento mouseover (Trabalhou bem no Firefox).

Tentei várias opções ... muitos dos quais era apenas uma tentativa desesperada de obter o evento para disparar no IE. Um dos mais sensíveis, que eu pensei que poderia trabalhar era para definir uma cor de fundo para a divisão e defina a opacidade para zero ... Bem! força de trabalho!

A solução final que parecia estar a trabalhar e não perturbar a funcionalidade que eu precisava era de colocar um um pixel repetido / imagem de fundo transparente em que a divisão

... Parvo! mas agora IE parece feliz.


2007 11 de junho de 2007

Bug margem IE6 duplo em elementos flutuantes

Simples ... Para corrigir este problema de exibição uso: inline.

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

Se você tem um elemento flutuado como uma div e colocar margin-right margin-left ou naquele elemento, o Internet Explorer 6.0 irá dobrar esse valor margem, bagunçar o layout html / css. Para corrigir isso basta adicionar display: inline; para o seu elemento flutuante.


NDK casa | Expressando IT | Palate Expressando | Penmenship Expressando | Awe Expressando | expressar-me