Ir para conteúdo
Fórum Script Brasil
  • 0

Código-fonte do JavaScript é exibido na página.


GuiOr

Pergunta

Tenho uma aplicação Web feita em HTML, CSS, PHP e JavaScript, que roda com Ajax.

A página principal, após login, exibe uma espécie de mapa com vários quadradinhos em algumas cores, cada um com uma representação específica. Ao clicar sobre cada um deles, uma espécie de pop-up é exibida e contém opções que irão abrir novas janelas e, consequentemente, novas páginas.

Esta página principal, a index.php, contém um trecho de código PHP, e logo abaixo, o corpo em HTML da página. Dentro do HTML, na tag <head>, há as definições para o JavaScript e para o CSS.

O grande problema é o seguinte: quando abro essa página no Firefox, o código-fonte do JavaScript e do CSS aparece na tela, do mesmo modo que estão escritos no arquivo index.php. Nisso, a aplicação trava e nenhuma pop-up se abre. No Chrome, os códigos também aparecem da mesma maneira, só que ao clicar em um quadrado, a pop-up aparece normalmente. No IE, a aplicação funciona corretamente, como deve ser, sem exibir código puro algum na tela.

Gostaria de saber se é algum problema do Ajax ou outra coisa, pois está difícil encontrar algum caso semelhante na internet.

Obrigado!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Tenko

Eu coloquei o JavaScript dentro das tags sim, assim como o código CSS está dentro das tags <style> </style>.

fiote

Não é possível que eu poste a página aqui.

Em relação ao uso de <!-- -->, o código estava inicialmente sem estes caracteres. Coloquei e o problema persistiu, como se eu não tivesse feito alteração alguma.

Cheguei a pensar que o JavaScript e o CSS talvez não estivessem sendo interpretados. Então, comentei o código JavaScript original e coloquei um alert() no lugar.

Ao atualizar a página, o alert() é exibido normalmente. Após clicar no OK, a página abre, mas a linha de código do alert() também é exibida.

Agradeço a ajuda!

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz um exemplo MUITO simples, mas acho que dá para visualizar o que está acontecendo.

index.php

<?php
echo "TESTE";
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br">
<head>
   <meta name="language" content="pt-br" />
   <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />
   <title>Exemplo - Exemplo</title>
   <meta name="keywords" content="" />
   <meta name="description" content="" />
   &lt;script type="text/javascript" src="consulta.js"></script>

   &lt;script type="text/javascript">
      alert("TESTE");  
   </script>

   <style type="text/css">
      * { 
         text-decoration:none;
         display:block;
         font-weight:normal;
         font-family:arial,freesans,helvetica,sans-serif;
         color: #000;
      }   

      a { 
        color: red;
        text-decoration:underline;
      }   
   </style>
</head>
<body onload="callServer();" bgcolor="#FFFFFF" style="margin: 0px;">
   <p><a href="http://www.google.com" title="Google">Google</a></p>
</body>
</html>
consulta.js
var xmlHttp;

function getHTML() {
   var url = 'pagina.php';
   var pars = 'someParameter=ABC';
   var myAjax = new Ajax.Updater(
            'users', 
            url, 
            { method: 'get', parameters: pars }); 
}

function callServer(){
   xmlHttp = GetXmlHttpObject();
   if (xmlHttp == null) {
      alert ("Este browser não suporta HTTP Request");
      return;
   }   

   var url = "pagina.php?id=47" + "&ms=" + new Date().getTime();
   xmlHttp.onreadystatechange = updatePage;
   xmlHttp.open("GET", "pagina.php", true);
   xmlHttp.send(null);
}

function updatePage() {
   if(xmlHttp.readyState == 4) {
      var response = xmlHttp.responseText;
      document.getElementById("users").innerHTML = response;
      setTimeout('callServer()', 5000);
   }   
}

function consulta(str) { 
   xmlHttp = GetXmlHttpObject();
   if (xmlHttp == null) {
      alert ("Este browser não suporta HTTP Request");
      return;
   }   
   var url = "consulta.php";
   url = url + "?q=" + str;
   url = url + "&sid=" + Math.random();
   xmlHttp.onreadystatechange = stateChanged;
   xmlHttp.open("GET", url, true);
   xmlHttp.send(null);
}

function stateChanged() {
   if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
      document.getElementById("txtHint").innerHTML = xmlHttp.responseText;
   }
}

function GetXmlHttpObject() {
   var xmlHttp = null;
   try {
      // Firefox, Opera 8.0+, Safari
      xmlHttp = new XMLHttpRequest();
   } catch (e) {
      //Internet Explorer
      try {
         xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
   }
   return xmlHttp;
}

Link para o comentário
Compartilhar em outros sites

  • 0

Tirei o asterisco e funcionou ¬¬

Quando eu pesquisei sobre esse asterisco, achei como normal o uso dele.

Agora o problema é que a aplicação continua travada no Firefox, pois ao clicar em um quadrado, a pop-up não aparece. Nos outros browsers funciona normalmente.

É necessário acrescentar algo mais além de <script type="text/javascript"> funções_javascript </script>?

Agradeço muito pela ajuda e peço desculpas por parece desnecessário, pois sou iniciante em Ajax/JavaScript.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...