• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bugmen

links no Firefox com Ajax

5 mensagens neste tópico

estou com o seguinte problema (apenas no Firefox e ja fiz update)

Numa página que é carregada através de Ajax, este tipo de links <a href=''...><img src....></a> com imagens ou texto não funciona na posição onde estao. Não aparece sequer a "mão" sobre o link. No caso do link com imagens, tentei trocar o png por jpg e por gif e o resultado foi igual. Tentei retirar o fundo à página e também não teve sucesso.

Por incrivel que pareça a única coisa que resultou foi empurrar para baixo com <br> umas 6linhas...e aí já funcionam correctamente.

Será algum problema de rendering do FireFox? Alguma ideia do que se possa estar a passar? Como corrigir?

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a usar alguma framework? Lembro-me que o Ext JS, pelo menos no firefox, renderizava diferente se eu fizesse load das páginas por AJAX do que se as visse directamente no browser.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado.

não uso nenhuma framework. se com o html final produzido criar uma .html de teste e o correr já funciona bem. Estranho! Isto deve ter alguma coisa a ver com Ajax vs Firefox....o quê é que não sei.

Sugestões/dicas são bem vindas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

parte do javascript que é executado pela mudança de estado do HTTMP

------------------------------------------

(...)

function sendPost( params){

xmlHttp=GetXmlHttpObject()

if (xmlHttp==null)

{

alert ("Browser does not support HTTP Request");

return;

}

//document.getElementById(divID).innerHTML = "<img src='themes/blue/images/ajaxloader.gif'><br>aguarde";

popup('popUpDiv');

var url="lib/AjaxCFramework/ajax_dispatcher.php";

xmlHttp.onreadystatechange = stateChanged;

xmlHttp.open("POST",url,true);

//Send the proper header information along with the request

xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xmlHttp.setRequestHeader("Accept-Charset","UTF-8");

xmlHttp.setRequestHeader("charset","UTF-8"); 

xmlHttp.setRequestHeader("Encoding","UTF-8");

xmlHttp.setRequestHeader("Content-length", params.length);

xmlHttp.setRequestHeader("Connection", "close");

xmlHttp.send(params);

}

function stateChanged() {

if (xmlHttp.readyState==4 && xmlHttp.status==200){

toggle('popUpDiv');toggle('blanket');

//var objDiv = document.getElementById(window.divID);

var objDiv = document.getElementById('centerdiv');

objDiv.innerHTML = xmlHttp.responseText;

invokeScript(document.getElementById('centerdiv'));

}

}

----------------- HTML que é carregado por AJAX ------------------

Nota: se for carregado directamente pelo browser funciona bem. ASsim, via Ajax, o href só funciona se posicionar os links umas linhas abaixo do ecra

--------------

<table width="319"  border="0" cellspacing="0" cellpadding="0">

            <tr align="center">

              <td width="45"><a href="javascript:void(0);" onClick="changeContent('menu','add','&item_id=-1','centerDiv');"><img src="themes/classic/images/toolbar/add.png" alt="novo" width="36" height="36" border="0"></a></td>

              <td width="45"><a href="javascript:void(0);"

  onClick="

if ( document.main.ID.value > 0 )

changeContent('menu','edit','&item_id=' + document.main.ID.value,'centerDiv');

else

  changeContent('INFO_NO_RECORD_SELECTED','','&item_id=-1','dialogDiv');

"><img src="themes/classic/images/toolbar/edit.png" alt="editar" width="36" height="36" border="0"></a></td>

  <td width="45">

  <a href="#" onClick="

  if ( document.main.ID.value > 0 )

  changeContent('menu','confirmDelete','&item_id=-1','dialogDiv');

  else

  changeContent('INFO_NO_RECORD_SELECTED','','&item_id=-1','dialogDiv');

">

<img src="themes/classic/images/toolbar/delete.png" alt="apagar" width="36" height="36" border="0">

</a>

  </td>

              <td width="26"> </td>

              <td width="45"><a href="javascript:void(0);"><img src="themes/classic/images/toolbar/print.png" alt="imprimir" width="36" height="36" border="0"></a></td>              <td width="51">

  <a href="javascript:void(0);" onClick="changeContent('sys_home','','','centerdiv');"><img src="themes/classic/images/toolbar/back.png" alt="home" width="36" height="36" border="0"></a></td>

            </tr>

            <tr align="center">

              <td width="45"><span  class="item_toolbar"><a href="javascript:changeContent('menu','add','&item_id=-1','centerDiv');">Novo</a></span></td>

              <td width="45"><span  class="item_toolbar">Editar</span> </td>

              <td width="45"><span  class="item_toolbar">Apagar</span></td>

  <td width="26"> </td>

  <td width="45"><span  class="item_toolbar">Imprimir</span></td>

  <td width="51"><span  class="item_toolbar">Home</span></td>

    </tr>

</table>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora