Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi gente, tudo bem? Há pelo menos um ano a minha empresa tem um sistema de intranet. Sempre funcionou perfeitamente, porém semana passada sem ninguém aparentemente ter mexido em uma linha sequer do código o sistema deu problema. Não fui eu que desenvolvi.
O que acontece é que ao entrar em alguma página do sistema é ativado um pop up que mostra o nosso site (aquele que todos têm acesso, não a intranet) com o título de alarme, após isso a cada 5 segundos o erro fica reaparecendo (5 segundos após fechar a aba). Perguntei para o dono da empresa e ele me informou que outra empresa que era parceira nossa tinha criado a intranet e que nunca existiu uma função pop-up no sistema.
Alguém tem alguma ideia do que pode estar acontecendo? Eu ja rastreei a função do pop-up e até já encontrei o que a faz aparecer a cada 5 segundos. No backup antigo também se encontra esse código, porém nunca deu este erro. Qualquer ajuda é muito bem vinda, se precisar posso explicar melhor.
Obrigada.
Javascript do "alarme" - que até então nunca tinha aparecido
function clicou()
{
document.getElementById('conteudo3').innerHTML='<h1>Ola mamae!</h1><input type="button" value="me feche!" onclick="close_dialog();" /><input type="button" value="desmodalizar!" onclick="desmodaliza_dialog();" />';
disp_dialog('teste3','conteudo3',true,undefined,m_x,m_y);
}
function fechar() // alert("exemplo de funcao chamada ao fechar a janela!");
}
/* funcoes que podem ser chamadas pelojavascritp
desmodaliza_dialog() para tirar o translucido de um dialogo modal, e permitir interacao com a janela de baixo
dialog_available() checa se ja tem algum dialogo aparecendo na tela
close_dialog() fecha o dialogo
*/
/*
as funcoes abaixo sao as importantes
*/
var cancelcallbackdialog;
var cancelcallbackid;
var m_x=0; //posicao geral do mouse
var m_y=0;
/*
title = titulo da janela
conteudo = "id" da div de conteudo desejado
modal = true para dialogo modal (obscurecendo a janela de fundo que chamou), ou false para dialogo normal sem afetar janela de baixo
oncancel = nome da function que vai ser chamado adcionalmente quando a janela for fechada
posx e posy, posicao da janela
*/
function disp_dialog(title,conteudo,modal,oncancel,posx,posy)
{
if (!dialog_available()) return;
var j = document.getElementById("janelinha");
var m = document.documentElement;
if (modal) {
var o = document.getElementById("overlay");
o.style.left = "0px";
o.style.top = "0px";
o.style.width = m.scrollWidth+"px";
o.style.height = m.scrollHeight+"px";
o.style.display="";
}
j.style.left = m.clientLeft + posx + "px";
j.style.top = m.clientTop + posy + "px";
document.getElementById("j_title").innerHTML=title;
document.getElementById(conteudo).style.display="";
j.style.display="";
cancelcallbackdialog=oncancel;
cancelcallbackid=conteudo;
}
function desmodaliza_dialog()
{
document.getElementById("overlay").style.display="none";
}
function dialog_available()
{
return (document.getElementById("janelinha").style.display == "none");
}
function close_dialog()
{
document.getElementById("overlay").style.display="none";
document.getElementById("janelinha").style.display="none";
document.getElementById(cancelcallbackid).style.display="none";
if (cancelcallbackdialog != undefined) cancelcallbackdialog();
}
function clickclose_dialog()
{
close_dialog();
}
var drag_dragok = false;
var drag_y,drag_x,drag_d,drag_dx,drag_dy;
var drag_n=500;
function mup()
{
drag_dragok=false;
//document.getElementById("janelinha").onmousemove=null;
//document.onmousemove=null;
document.onmousemove=getMouseCoordinates;
}
function drag_move(e){
if (!e) e = window.event;
if (drag_dragok){
document.getElementById("janelinha").style.left = drag_dx + e.clientX - drag_x + "px";
document.getElementById("janelinha").style.top = drag_dy + e.clientY - drag_y + "px";
return false;
}
}
function mdown(e)
{
if (!e) e = window.event;
var temp = (typeof e.target != "undefined")?e.target:e.srcElement;
if (temp.tagName != "HTML"|"BODY" && temp.id != "j_title"){
temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;
}
if ((temp != undefined) && (temp.id == "j_title")) {
if (window.opera){
document.getElementById("Q").focus();
}
drag_dragok = true;
//temp.style.zIndex = n++;
//d = temp;
drag_dx = parseInt(document.getElementById("janelinha").style.left+0);
drag_dy = parseInt(document.getElementById("janelinha").style.top+0);
drag_x = e.clientX;
drag_y = e.clientY;
//document.getElementById("janelinha").onmousemove = drag_move;
document.onmousemove = drag_move;
return false;
}
}
function initialize()
{
document.getElementById("janelinha").onmousedown = mdown;
document.getElementById("janelinha").onmouseup = mup;
document.onmousemove=getMouseCoordinates;
}
function getMouseCoordinates(e)
{
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
m_x = e.pageX;
m_y = e.pageY;
} else {
m_x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
m_y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
}
Segunda parte do alarme, chamado de "temporiza1.js"
function CDownloadUrl(method, url, params, func )
{
var isget = (method.toString().toLowerCase()=="get");
var httpObj;
var browser = navigator.appName;
if(browser.indexOf("Microsoft") > - 1)
httpObj = new ActiveXObject("Microsoft.XMLHTTP");
else
httpObj = new XMLHttpRequest();
if (isget) {
httpObj.open(method, url + "?" + params, true);
} else {
httpObj.open(method, url, true);
//Send the proper header information along with the request
httpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
httpObj.setRequestHeader("Content-length", params.length);
httpObj.setRequestHeader("Connection", "close");
}
httpObj.onreadystatechange = function()
{
if(httpObj.readyState == 4)
{
if (httpObj.status == 200)
{
var contenttype = httpObj.getResponseHeader('Content-Type');
if (contenttype.indexOf('xml') > - 1)
{
func(httpObj.responseXML);
}
else
{
func(httpObj.responseText);
}
}
else
{
//func('Error: ' + httpObj.status);
func("");
}
}
}
;
if (isget) httpObj.send(null); else httpObj.send(params);
}
function teste()
{
var x = 'tempo=' + new Date().getTime();
CDownloadUrl("get", "../alarme.php" , x, function (txt)
{
var codponto=0;
try
{
if (txt != "") {
document.getElementById('conteudo3').innerHTML=txt;
disp_dialog('Alarme','conteudo3',true,fechar,300,300);
} else {
init();
}
}
catch (err)
{
//alert("danou-se");
init();
}
});
}
function init()
{
setTimeout("teste()",3000);
}
Existe ainda na home um php que chama esse arquivo html (alarme.html)
<div id="overlay" style="display:none"></div>
<div id="janelinha" style="display:none">
<table border="0" cellspacing="0" cellpadding="0" width="320px">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="2" >
<tr>
<th id="j_title">
</th>
<th id="j_close" width="16px" onclick="clickclose_dialog()" align="center">X
</th>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<!-- Aqui vai o conteudo 3 -->
<div id="conteudo3" style="display:none">
</div>
</td>
</tr>
</table>
</div>
Obrigada pela ajuda, me avise se precisar de outros dados =)
ao entrar em alguma página do sistema é ativado um pop up que mostra o nosso site
Ok.
após isso a cada 5 segundos o erro fica reaparecendo
que erro ?
q erro é esse ? poste uma imagem desse erro, e transcreva ele aqui.
/applications/core/interface/imageproxy/imageproxy.php?img=http://i39.tinypic.com/149qec8.jpg&key=13c87c85a5f83d4190ca310a92769ea7d18e8d5e894466c34592f2e6e4b44c81" alt="149qec8.jpg" />
Esse pop up que abre nosso site é ativado automaticamente após 3 segundos (e aberto novamente em 3 segundos quando o pop up é fechado)
e qual é o erro ?
Este. Nunca aconteceu isso, a intranet está em funcionamento há mais de um ano e semana passada começou a acontecer isso.
Aparentemente ninguém mexeu no sistema, este "alarme.js" sempre esteve presente nas pastas do sistema, porém, até semana passada ninguém aqui sabia que ele existia e qual sua função. No console também não aparece nenhum problema relacionado a ele.
ele aparecer, é o erro ?
então procure no sistema alguma chamada a função init()
Isso, desculpa se não ficou claro, mas sim, o erro é aparecer o pop-up pois nunca tinha acontecido isso.
No temporiza1.js aparece a função init, porém ela aparece somente para teste. Já conta? Eu posso excluir toda a função teste? Não costumo mexer com javascript...
function teste()
{
var x = 'tempo=' + new Date().getTime();
CDownloadUrl("get", "../alarme.php" , x, function (txt)
{
var codponto=0;
try
{
if (txt != "") {
document.getElementById('conteudo3').innerHTML=txt;
disp_dialog('Alarme','conteudo3',true,fechar,300,300);
} else {
init();
}
}
catch (err)
{
//alert("danou-se");
init();
}
});
}
function init() setTimeout("teste()",3000);
}não.
procure onde está sendo chamado a função teste então.
no caso, a init() pode estar sendo chamada de algum outro ponto também, ai no caso, você vai ter q procurar no meio dos htmls também.
Ahh entendi. Pode colocar como resolvido já, muito obrigada pela ajuda e paciência!
Você sabe porque aconteceu esse problema tanto tempo depois? É normal do javascript isso?
não, não é "normal".
provavelmente alguém realmente mexeu.
A linguagem não faz nada que você não mande ela fazer. Nenhuma linguagem faz..
poste o código, ou um link para o site.