estou enfrentando um problema sério e não faço idéia de como resolver. Tenho um site em php que executa um javascript nele. Acontece que no Firefox ele executa normalmente, mas no IE ele não executa. Só executa quando eu faço a página em HTML.
O código javascript em questão é o código do Show/Hide do DreamWeaver.
Segue abaixo o js do show/hide (lembrando que ele está dentro de um print ""):
<script language=\"JavaScript\" type=\"text/JavaScript\"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName==\"Netscape\")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf(\"?\"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_showHideLayers() { //v6.0 var i,p,v,obj,args=MM_showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; } obj.visibility=v; } } //--> </script>
Abaixo o código do DIV que deve abrir:
<div id='divdesc' style='position:absolute; width:300px; left:25%; top:".$pos." z-index:1; background-color: #444444; layer-background-color: #444444; border: 5px; border-color: #000000; visibility: hidden;'> <div style='width:300px' align='right'><b><font size='2'><a href='#' onClick=\"MM_showHideLayers('divdesc','','hide')\">Fechar [X]</a></font></b></div> <div style='width:300px' align='justify'>".$row['descricao']."</div> </div>
E finalmente, o link pelo qual eu chamo o script:
<div class='fonte' align='center'><b><a href='#' onClick=\"MM_showHideLayers('divdesc','','show')\">Descrição</a></b></div>
A variável $row['descricao'] que eu estou usando é para chamar no banco de dados mysql a descrição desse download, que deverá abrir numa div que está atualmente como hidden.
A questão é, no Firefox esse código funciona perfeitamente, no Internet Explorer 6.0 quando eu clico no link não acontece nada. Lembrando que no IE 6.0 só funciona quando eu executo a página em HTML. Tenho a impressão de que é algo relacionado às aspas.
Bom, fico no aguardo.
ps: postei na área javascript pois, primeiramente, achei que fosse um problema de JS, mas acho que vocês do PHP poderão em ajudar também.
Obrigado e grande abraço!
Edição feita por: blecko, 22/01/2007, 21:04.