mandark
Messages postés16Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention10 mai 2006 10 juil. 2006 à 13:45
-> Ajax
ifebo
Messages postés181Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention28 décembre 2006 13 mai 2005 à 17:58
Et re Paff ! moi je mets 9 parce que rien n'est parfait dans ce bas monde ;-)
Mais je tiens à encourager les bonnes volontés.
Merci à vous ça va me servir.
Et le minitrucenplus de la metabalise c'est bien d'y avoir pensé.
Moi j'aurais sans doute oublié. je vois pourtant que j'en aurais eu besoin. Merci encore.
Déjà y'à un bug avec le javascript de dream. Au pire essayez :
function MM_findObj(n, d) { //v4.01
return document.all(n);
}
Sous IE ça passera nikel.
Sinon dans la fonction RefreshTableau(msg) y'à écrit à un moment :
html + = "<td>"+champs[j]+"</td>";
Et le javascript attend que le + et le = soient collés, et non séparés avec un espace.
Aprés tu verras, ça fonctionne nikel. Au fait, t'es même pas obligé de faire un script php. Tu peux mettre ça en dur dans un fichier HTML si tu veux tester ça n'importe-où.
Waouuu.... Merci pour la note au fait(4/10). Je vois même pas pk y'en à qui essayent cette méthode vu que tt le monde pense qu'elle est pourave.
Je vois même pas pk je me casse le cul à vous aider.
pour teste j'ai creer un fichier script.php et j'ai mis
<? $chaine = 'X|20]Y|30]'; ?>
<script language="JavaScript" type="text/JavaScript">
parent.RefreshTableau('<? echo $chaine; ?>');
</script>
et sur une page html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
<script language="JavaScript" type="text/JavaScript">
<!--
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;
}
//-->
</script>
</head>
<script language="JavaScript" type="text/JavaScript">
<!--
function RefreshTableau(msg) {
var tab = MM_findObj("tableau");
var tables = msg.split("]");
var html;
html = "\"
for(i=0; i < tables.length; i++) {
html += \"----
\";
champs = tables[i].split(\"|\");
for(j=0; j<champs.length; j++) {
html + = \""+champs[j]+", \";
}
html += \"\";
}
html += "
";
tab.innerHTML = html;
}
function LoadTableau() {
var sock = MM_findObj("socket1");
sock.src = "script.php";
}
//-->
</script>
[# test]
<label id ="tableau"></label>
</html>
mais ça marche pas j'ai une erreur .
qui peut me dire d'ou ça peut venir ? je suis sur ie 6
ben moi j'apelle ça une balise d'interpretation car elle à la fonction innerHTML, et qu'elle n'a aucun effet visuel, donc je l'utilise en plus de sa fonction par défault, pour charger dynamiquement du html, qui sera interprété ...
Walla le fonction de dream :
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;
}
Et cette methode comporte un avantage certain, quand t'as une grosse mise en page, l'habillage n'est pas à recharger... parcontre tu peux en modifier une partie etc...
Sur les requettes internet faut plutôt raisoner en nombre de HITS car la vitesse de téléchargement n'est plus de 56 K pour dire que la page est lente à charger... c'est juste les requettes qui sont lentes ...
L'avantage c'est de ne pas avoir a charger plusieurs trucs, donc 1 seul hit.
Quand à l'utilisation des frames, c'est fait diviser l'écran, nix utilise une frame invisible, ce qui revient à utliser une iframe, mais il doit préférer la balise FRAME pour la compatibilité.
Il faut savoir avant d'utiliser ces methodes à qui on s'adresse, et si c'est un intranet, ou un logiciel internet pour une boite, on peut cibler alors vers un explorateur, comme IE, donc pour les sites grands public, je vous déconséille donc d'utiliser ces methodes....
flashfun
Messages postés296Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention11 septembre 2004 11 nov. 2003 à 13:21
>>Le meuilleur moyen c'est créer une balise d'interpretation label :
<label id= "tableau"></label>
Je connais pas ça, peux-tu m'expliquer?
>>PS : Je considére que vous avez mis la fonction de gestion des objets de dreamweaver MM_findObj() ...
Je connais pas ça, peux-tu me donner le contenu de la fonction?
J'ai déjà utilisé un systèm un peu près pareil, j'utilise une frame normal de taille zéro: dans cette frame je charge une page php,
Le programme php écrit directement dans un textarea le contenu de ce que je veux afficher dans un paragraphe de la page principale, puis un javascript copie le contenu du textarea dans le contenu du paragraphe à mettre à jour.
Il est passible de faire la même chose avec une iframe.
Je ne suis pas convaincu de gagné du temps en faisait traité les informations par un javascript, à la vitesse de l'éxécution du php, tu ne dois pas voir la différence si tu rajoute 2 ligne d'exécution en plus.
Il faudrai faire des essais.
Ps: sur ce site ils utilisent aussi une iframe:
La page donne:
<html><head><title>-</title>
<meta http-equiv ="Refresh" content="240; url=chkmsg.aspx?r=..."></head></html>
10 juil. 2006 à 13:45
13 mai 2005 à 17:58
Mais je tiens à encourager les bonnes volontés.
Merci à vous ça va me servir.
Et le minitrucenplus de la metabalise c'est bien d'y avoir pensé.
Moi j'aurais sans doute oublié. je vois pourtant que j'en aurais eu besoin. Merci encore.
8 sept. 2004 à 17:42
sur le fichier script.php histoire de ne pas avoir la meme chose a chaque clique :-)
sinon je trouve ça vraiment bien mais je pense qu'il faut vraimnet trouver qq chose pour le faire macher sur mozilla .
8 sept. 2004 à 13:51
je note qq chose que apres avoir reussi a le faire marche quand ça marche la ce le cas et je trouve ça tres util donc paff 10/10 ;-)
8 sept. 2004 à 09:06
Déjà y'à un bug avec le javascript de dream. Au pire essayez :
function MM_findObj(n, d) { //v4.01
return document.all(n);
}
Sous IE ça passera nikel.
Sinon dans la fonction RefreshTableau(msg) y'à écrit à un moment :
html + = "<td>"+champs[j]+"</td>";
Et le javascript attend que le + et le = soient collés, et non séparés avec un espace.
Aprés tu verras, ça fonctionne nikel. Au fait, t'es même pas obligé de faire un script php. Tu peux mettre ça en dur dans un fichier HTML si tu veux tester ça n'importe-où.
Waouuu.... Merci pour la note au fait(4/10). Je vois même pas pk y'en à qui essayent cette méthode vu que tt le monde pense qu'elle est pourave.
Je vois même pas pk je me casse le cul à vous aider.
8 sept. 2004 à 07:16
<? $chaine = 'X|20]Y|30]'; ?>
<script language="JavaScript" type="text/JavaScript">
parent.RefreshTableau('<? echo $chaine; ?>');
</script>
et sur une page html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
<script language="JavaScript" type="text/JavaScript">
<!--
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;
}
//-->
</script>
</head>
<script language="JavaScript" type="text/JavaScript">
<!--
function RefreshTableau(msg) {
var tab = MM_findObj("tableau");
var tables = msg.split("]");
var html;
html = "\"
for(i=0; i < tables.length; i++) {
html += \"----
\";
champs = tables[i].split(\"|\");
for(j=0; j<champs.length; j++) {
html + = \""+champs[j]+", \";
}
html += \"\";
}
html += "
";
tab.innerHTML = html;
}
function LoadTableau() {
var sock = MM_findObj("socket1");
sock.src = "script.php";
}
//-->
</script>
[# test]
<label id ="tableau"></label>
</html>
mais ça marche pas j'ai une erreur .
qui peut me dire d'ou ça peut venir ? je suis sur ie 6
je vous remercie d'avance
11 nov. 2003 à 13:43
Walla le fonction de dream :
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;
}
Et cette methode comporte un avantage certain, quand t'as une grosse mise en page, l'habillage n'est pas à recharger... parcontre tu peux en modifier une partie etc...
Sur les requettes internet faut plutôt raisoner en nombre de HITS car la vitesse de téléchargement n'est plus de 56 K pour dire que la page est lente à charger... c'est juste les requettes qui sont lentes ...
L'avantage c'est de ne pas avoir a charger plusieurs trucs, donc 1 seul hit.
Quand à l'utilisation des frames, c'est fait diviser l'écran, nix utilise une frame invisible, ce qui revient à utliser une iframe, mais il doit préférer la balise FRAME pour la compatibilité.
Il faut savoir avant d'utiliser ces methodes à qui on s'adresse, et si c'est un intranet, ou un logiciel internet pour une boite, on peut cibler alors vers un explorateur, comme IE, donc pour les sites grands public, je vous déconséille donc d'utiliser ces methodes....
11 nov. 2003 à 13:21
<label id= "tableau"></label>
Je connais pas ça, peux-tu m'expliquer?
>>PS : Je considére que vous avez mis la fonction de gestion des objets de dreamweaver MM_findObj() ...
Je connais pas ça, peux-tu me donner le contenu de la fonction?
J'ai déjà utilisé un systèm un peu près pareil, j'utilise une frame normal de taille zéro: dans cette frame je charge une page php,
Le programme php écrit directement dans un textarea le contenu de ce que je veux afficher dans un paragraphe de la page principale, puis un javascript copie le contenu du textarea dans le contenu du paragraphe à mettre à jour.
Il est passible de faire la même chose avec une iframe.
Je ne suis pas convaincu de gagné du temps en faisait traité les informations par un javascript, à la vitesse de l'éxécution du php, tu ne dois pas voir la différence si tu rajoute 2 ligne d'exécution en plus.
Il faudrai faire des essais.
Ps: sur ce site ils utilisent aussi une iframe:
La page donne:
<html><head><title>-</title>
<meta http-equiv ="Refresh" content="240; url=chkmsg.aspx?r=..."></head></html>