OVH Cloud OVH Cloud

POPUP

42 réponses
Avatar
pounch
Bonjour,

Je cherche à créer un systeme de debugging dans une fenetre à part.
Donc, dans ma webapp, si le debugging est ON, une popup s'ouvre et
affiche les messages de debugging qu'on lui passe.

Donc l'idée est de vérifier si la popup existe
si oui, on lui passe le texte à afficher
si non, on la crée et on lui passe le texte à afficher.

Simple, non?

Mais, est-ce que je DOIS obligatoirement passer une url?
comment faire pour ecrire dans cette popup? newwindow.document.write()
ne va pas!

Quelles pistes dois-je suivre?
Merci,
Dams

10 réponses

1 2 3 4 5
Avatar
Do Re Mi chel La Si Do
Re !

Merci, j'essaierai ce soir. Je donnerai le résultat.

@-salutations
--
Michel Claveau
Avatar
pounch
Alors voilà la nouvelle version:

/***********************************/
var win = false;
var temp = '';
var el = '';
var nbLine = 1;

function DebugPopup(strTxt) {
var w = 300;
var h = 250;
var posx = (screen.width - w) - 10;
var posy = (screen.height - h) - 50;

var options =
'dependent=1,height='+h+',width='+w+',top='+posy+',left='+posx+',scrollbars=true
,resizable=no, status=no';


if (!win || win.closed) {
window.win = window.open('mapage.php','Debugging Frame',options);

//if (!win.opener) win.opener = self;
}
temp += strTxt;
with(win.document) {
x = getElementsByTagName('DIV');
for (i=0; i<x.length; i++) {
if(x[i].getAttribute('ID') == 'scroller') {
el = x[i];
break;
}
}
}
el.innerHTML += strTxt + '<br/>';

if (window.focus) {
win.window.focus();
}
return false;
}
/****************************************************/

Donc pour résumer, maintenant les valeurs que je donne à la popup
apparaissent MAIS (et oui, ça aurait ete trop beau) ... une fois que la
popup a terminé de se charger, ces valeurs disparaissent!!

Voici le html:
<body onBlur="this.focus()">

<div id="header"></div>
<div id="scroller"></div>

</body>


Voilà, je ne comprends donc pas pq le scroller se vide une fois que le
chargement est fini.
Par ailleurs, (c'est pour ASM) comme je le disais, je fais appel à des
scripts php qui verifie l'existence de la popup, comme ceci
index.php?page=yyy
chaque fois que index.php est appelé, la popup est recréée !!!
Visiblement, le navigateur (firefox) considere que c'est un nouvel opener!

... oserai-je reposer ma question? :-p allez, soyons fou!
pourquoi ça se passe comme ça? :-p
Avatar
Cenekemoi
Alors voilà la nouvelle version:

/***********************************/
var win = false;
var temp = '';
var el = '';
var nbLine = 1;

function DebugPopup(strTxt) {
var w = 300;
var h = 250;
var posx = (screen.width - w) - 10;
var posy = (screen.height - h) - 50;

var options > 'dependent=1,height='+h+',width='+w+',top='+posy+',left='+posx+',scrollbars=true
,resizable=no, status=no';


if (!win || win.closed) {
window.win = window.open('mapage.php','Debugging Frame',options);

//if (!win.opener) win.opener = self;
}
temp += strTxt;
with(win.document) {
x = getElementsByTagName('DIV');
for (i=0; i<x.length; i++) {
if(x[i].getAttribute('ID') == 'scroller') {
el = x[i];
break;
}
}
}
el.innerHTML += strTxt + '<br/>';


Pourquoi faire si compliqué, joue pas au shadok :

el = win.document.getElementsById('scroller');
el.innerHTML += strTxt + '<br/>';


if (window.focus) {
win.window.focus();
}


Attention :
win.focus();

return false;


pourquoi ?...

}
/****************************************************/

Donc pour résumer, maintenant les valeurs que je donne à la popup
apparaissent MAIS (et oui, ça aurait ete trop beau) ... une fois que
la popup a terminé de se charger, ces valeurs disparaissent!!

Voici le html:
<body onBlur="this.focus()">

<div id="header"></div>
<div id="scroller"></div>

</body>


Voilà, je ne comprends donc pas pq le scroller se vide une fois que le
chargement est fini.
Par ailleurs, (c'est pour ASM) comme je le disais, je fais appel à des
scripts php qui verifie l'existence de la popup, comme ceci
index.php?page=yyy
chaque fois que index.php est appelé, la popup est recréée !!!
Visiblement, le navigateur (firefox) considere que c'est un nouvel
opener!
... oserai-je reposer ma question? :-p allez, soyons fou!
pourquoi ça se passe comme ça? :-p



--
Cordialement, Thierry ;-)

Avatar
pounch
Pourquoi faire si compliqué, joue pas au shadok :

el = win.document.getElementsById('scroller');
el.innerHTML += strTxt + '<br/>';


ça ne marche pas ... sinon tu penses bien que j'y ai deja pensé.

pour le reste, le return false, ben d'apres quirksmod.org, ce sera pour
des raisons d'accessibilité. ->http://www.quirksmode.org/

Avatar
Cenekemoi
Pourquoi faire si compliqué, joue pas au shadok :

el = win.document.getElementsById('scroller');
el.innerHTML += strTxt + '<br/>';


ça ne marche pas ... sinon tu penses bien que j'y ai deja pensé.


==> el = win.document.getElementById('scroller'); (sans le "s")

Bien sûr que cela marche -j'insiste- ! Ou alors explique ce qu'il se
passe !

--
Cordialement, Thierry ;-)


Avatar
pounch
Cenekemoi wrote:

Pourquoi faire si compliqué, joue pas au shadok :

el = win.document.getElementsById('scroller');
el.innerHTML += strTxt + '<br/>';


ça ne marche pas ... sinon tu penses bien que j'y ai deja pensé.



==> el = win.document.getElementById('scroller'); (sans le "s")

Bien sûr que cela marche -j'insiste- ! Ou alors explique ce qu'il se
passe !

reponse de firefox:

Error: el has no properties



Avatar
pounch
pounch wrote:
Cenekemoi wrote:



Pourquoi faire si compliqué, joue pas au shadok :

el = win.document.getElementsById('scroller');
el.innerHTML += strTxt + '<br/>';


ça ne marche pas ... sinon tu penses bien que j'y ai deja pensé.



==> el = win.document.getElementById('scroller'); (sans le "s")

Bien sûr que cela marche -j'insiste- ! Ou alors explique ce qu'il se
passe !



reponse de firefox:
Error: el has no properties



bon, je perds les pedales, maintenant ça fonctionne ...
(je rate de peu la depression :-p ce script me fait tourner en bourique)




Avatar
pounch
ASM wrote:


Bonjour !

J'ai essayé de faire un truc un peu similaire, pour faire du déboguage de
scripts Python, qui utilisent I.E. avec du javascript comme GUI.

Le problème sur lequel je suis tombé, c'est une histoire de focus (ou
quelque chose de proche). Dans certains cas l'affichage d'information dans
la fenêtre popup fait que, si le curseur reste bien positionné sur un champ
donné (il clignote agréablement...), la saisie est impossible, tant que l'on
ne clique pas, une fois de plus, sur le champ.



dans le popup

<body onkeydown="opener.focus();" onclick="opener.focus();">

n'aiderait pas ?



mon opener est undefined dans ma popup ... je crois que ce n'est pas normal



Avatar
Cenekemoi
mon opener est undefined dans ma popup ... je crois que ce n'est pas
normal


Quel est ton navigateur/version STP ?

--
Cordialement, Thierry ;-)

Avatar
pounch
Cenekemoi wrote:

mon opener est undefined dans ma popup ... je crois que ce n'est pas
normal



Quel est ton navigateur/version STP ?

firefox 1.0



1 2 3 4 5