Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
É o seguinte galerá, estou fazendo um sistema de gerenciador de um site para um cliente. E foi solicitado um chat neste gerenciador, para que os funcionarios possam trocar uma idéia lá dentro.
Bom, o chat eu tenho, inclusive é um chat em ajax. Que quando você entra na página do chat, ele carrega primeiro (como o gmail) e depois abre todo o chat pedindo um nick para entrada.
Meu gerenciador é inteiro em ajax. Dai estou usando a seguinte lógica...
Eu estou utilizando o menu painel horizontal do Spry que da para criar pelo dreamweaver cs3.
Eu criei uma <div id="messenger"></div> no "TabbedPanelsContent" onde carregará o chat, veja:
<div class="TabbedPanelsContentGroup">
<div class="TabbedPanelsContent"><p>Bom dia <strong>Sr. Administrador</strong></p></div>
<div class="TabbedPanelsContent">aqui vai o conteúdo do item Empresas</div>
<div class="TabbedPanelsContent">aqui vai o conteúdo do item Controle de Caixa</div>
<div class="TabbedPanelsContent">aqui vai o conteúdo do item Categorias</div>
<div class="TabbedPanelsContent">aqui vai o conteúdo do item Notícias</div>
<div class="TabbedPanelsContent">aqui vai o conteúdo do item Enquetes</div>
<div class="TabbedPanelsContent"><a href="#" id="ativaMessenger">Chat</a><div id="messenger"></div><?php //@include('chat.php'); ?></div>
<div class="TabbedPanelsContent">aqui vai o conteúdo do item Administradores</div>
<div class="TabbedPanelsContent">
<p>Tem certeza que deseja sair?</p>
<p><span id="btnConfirma"><a href="#"><img src="imagens/18xapply.png" width="16" height="16" align="absmiddle" /> CONFIRMAR</a></span> <span id="btnCancela"><a href="#"><img src="imagens/18xcancel.png" width="16" height="16" align="absmiddle" /> CANCELAR</a></span></p>
</div>
</div><!-- fim-> TabbedPanelsContentGroup -->
Ele carrega a página "chat.php" nestá página, mas o chat só fica "Carregando..." e nada...
o código ajax que estou utilizando para carregar o chat, é esse:
CODE
function ativarMessenger() { var ativaMessenger = document.getElementById('ativaMessenger');
// Se não houver o elemento "ativaMessenger", não retorna nada.
if (!ativaMessenger) return false;
// Ao clicar no link uma função será executada.
ativaMessenger.onclick = function() {
var ajax = openAjax();
var recipiente = document.getElementById('messenger');
// Método e a página que será requisitada
ajax.open('GET', 'chat.php', true);
// determina o que será feito em cada estado do readyState
ajax.onreadystatechange = function() {
if (ajax.readyState == 1) {
}
if (ajax.readyState == 4) {
if (ajax.status == 200) {
recipiente.innerHTML = ajax.responseText;
}
}
}
// Envia a requisição
ajax.send(null);
return false;
}
}
Imagino que deve ser aquele famoso problema que páginas carregadas por ajax não executam os seus scripts externos...
alguém pode me ajudar a solucionar este problema do melhor jeito, sem gambiarras???
abraços!!
esqueci de falar que esse arquivo que estou carregando, chamado "chat.php" não possui scripts... não tem quase nada na página...
mas ele abre uma página que chama várias funções...
vou lhes mostrar a página "chat.php"
<?php
// Requer a classe phpFreeChat
require_once dirname(__FILE__)."/chat/src/phpfreechat.class.php";
$params["serverid"] = md5(__FILE__); // Calcula um ID único para o chat
$params["language"] = "pt_BR"; // Define a linguagem do chat
$chat = new phpFreeChat( $params ); // Estancia a classe phpFreeChat
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">