Variable
none61
Messages postés
83
Date d'inscription
Statut
Membre
Dernière intervention
-
none61 Messages postés 83 Date d'inscription Statut Membre Dernière intervention -
none61 Messages postés 83 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous,
Continuant mes investigations suite a un autre post, j'utilise le code javascript suivant:
EDIT: Ajout du LANGAGE dans les balises de code pour avoir la couleur (jordane45)
Le principe: Je parse(tant bien que mal) un fichier .xml et implemente ce qu'il contient a la variable "valeur"
Cependant mais "document.write" me retournent bien la valeur de value MAIS je reste bloqué sur la position else...
Lorsque je rentre manuellement une valeur a "value" mes if et else if fonctionnent bien...
Je ne comprend plus si quelqu'un voudrait bien m'expliquer ??? :-(
Merci d'avance
Continuant mes investigations suite a un autre post, j'utilise le code javascript suivant:
<!-- script js pour reactualiser les id --> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> <script type="text/javascript"> if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET", "http://192.168.1.16/dlprogressbar/testj.xml",false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; document.write("<table border='1'>"); var x = xmlDoc.getElementsByTagName("valeur"); for ( i = 0; i < x.length; i++) { var value = (x[i].getElementsByTagName("pourcent")[0].childNodes[0].nodeValue); } document.write("</table>"); document.write(value); if (value == "0"){ $('#callback').load('http://192.168.1.16/dlprogressbar/value0.html').fadeIn("slow"); } else if (value == ""){ //aprés quelques test //je pense qu une fois le telechargement termine le prodit en croix crachera et le fichier sera du coup implementé par du$ $('#callback').load('http://192.168.1.16/dlprogressbar/value100.html').fadeIn("slow"); } else { $('#callback').load('http://192.168.1.16/dlprogressbar/value.html').fadeIn("slow"); document.write(value); } </script>
EDIT: Ajout du LANGAGE dans les balises de code pour avoir la couleur (jordane45)
Le principe: Je parse(tant bien que mal) un fichier .xml et implemente ce qu'il contient a la variable "valeur"
Cependant mais "document.write" me retournent bien la valeur de value MAIS je reste bloqué sur la position else...
Lorsque je rentre manuellement une valeur a "value" mes if et else if fonctionnent bien...
Je ne comprend plus si quelqu'un voudrait bien m'expliquer ??? :-(
Merci d'avance
A voir également:
- Variable
- Vba range avec variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Variable objet ou bloc "with" non définie - Forum VB / VBA
3 réponses
Salut,
Et quelle est la valeur de la variable value ?
Que donne un console.log(value); juste avant tes if/else ?
Bonne journée,
Et quelle est la valeur de la variable value ?
Que donne un console.log(value); juste avant tes if/else ?
Bonne journée,
La vleur de la variable value n'est jamais la même...c'est pour cela que je ne t'avais pas mis la réponse.
ça valeur est en 0 et 99. j'ai un petit peux modifié mon if:
Je vais voir du coté de ton lien pour que mon code s'execute en boucle car pour le moment rien ne fonctionne...
Merci a toi
ça valeur est en 0 et 99. j'ai un petit peux modifié mon if:
if (value == 0){ $('#callback').load('http://192.168.1.16/dlprogressbar/value0.html').fa$ } else if ((value >= 1)&&(value <= 99)){ //aprés quelques test //je pense qu une fois le telechargement termine le prodit en croix cra$ $('#callback').load('http://192.168.1.16/dlprogressbar/value.html').fad$ } else { $('#callback').load('http://192.168.1.16/dlprogressbar/value100.html').$ }
Je vais voir du coté de ton lien pour que mon code s'execute en boucle car pour le moment rien ne fonctionne...
Merci a toi
EDIT: Ajout du LANGAGE dans les balises de code
pour avoir la couleur (jordane45)
j'ai essayé ceci:
Mais le résultat me retourne une page vide...
Je me demandais...comment mes fonctions sont elle appelées? car le but et que cela se charge automatiquement à l'ouverture de la page...
Il ne faut pas quelque chose qui appellera les fonctions automatiquement ??
<script type="text/javascript" src="[http://ajax.googleapis.com/ajax/ libs/jquery/1.3.0/jquery.min.js%22></script> <script http://ajax.googleapis.com/ajax/ libs/jquery/1.3.0/jquery.min.js"></script> <script|nofollow] type="text/javascript"> var intervalID; function test(){ intervalID = setInterval(mafonction, 1000); } function mafonction() { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET", "[http://192.168.1.16/dlprogressbar/testj.xml%22, http://192.168.1.16/dlprogressbar/testj.xml",|nofollow] false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; document.write("<table border='1'>"); var x = xmlDoc.getElementsByTagName("valeur"); for ( i = 0; i < x.length; i++) { var value = (x[i].getElementsByTagName("pourcent")[0].childNodes[0].nodeValue); } document.write("</table>"); if (value == 0){ $('#callback').load('http://192.168.1.16/dlprogressbar/value0.html').fadeIn("slow"); } else if ((value >= 1)&&(value <= 99)){ $('#callback').load('http://192.168.1.16/dlprogressbar/value.html').fadeIn("slow"); } else { $('#callback').load('http://192.168.1.16/dlprogressbar/value100.html').fadeIn("slow"); } } </script>
Mais le résultat me retourne une page vide...
Je me demandais...comment mes fonctions sont elle appelées? car le but et que cela se charge automatiquement à l'ouverture de la page...
Il ne faut pas quelque chose qui appellera les fonctions automatiquement ??
EDIT: Ajout du LANGAGE dans les balises de code
pour avoir la couleur (jordane45)
Bonjour et merci pour ta réponse,
J'ai donc essayé ceci:
Après je n'ai peux être pas fait comme il faut mais la page s'affiche avec mon fonce d'écran puis devient blanche avec un trait noir tout en haut a gauche a la vertical qui s'agrandit.....bizard...
J'ai donc essayé ceci:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
var intervalID;
window.addEventListener("load", test());
function test(){
intervalID = setInterval(mafonction, 1000);
}
function mafonction() {
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "http://192.168.1.16/dlprogressbar/testj.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
document.write("<table border='1'>");
var x = xmlDoc.getElementsByTagName("valeur");
for ( i = 0; i < x.length; i++) {
var value = (x[i].getElementsByTagName("pourcent")[0].childNodes[0].nodeValue);
}
document.write("</table>");
if (value == 0){
$('#callback').load('http://192.168.1.16/dlprogressbar/value0.html').fadeIn("slow");
} else if ((value >= 1)&&(value <= 99)){
$('#callback').load('http://192.168.1.16/dlprogressbar/value.html').fadeIn("slow");
} else {
$('#callback').load('http://192.168.1.16/dlprogressbar/value100.html').fadeIn("slow");
}
}
</script>
Après je n'ai peux être pas fait comme il faut mais la page s'affiche avec mon fonce d'écran puis devient blanche avec un trait noir tout en haut a gauche a la vertical qui s'agrandit.....bizard...
ok je vais te poster mes pages comme ça tu pourras tester
-value0.html> elle sert a afficher qu'il n'y a pas de téléchargement en cour et donc je peux cliquer sur une icône ou l'autre pour choisir le type de téléchargement
-Soit tous télécharger
-Soit télécharger l'élément le plus récent
Pour le moment au lieu de requetter mon script pour telecharger, je requête juste test.php
Je changerais l'address une fois l'ensemble finis ;-)
value.html=> elle sert a afficher mes barres de progressions pendant mon téléchargement.
-value100 elle sert a m'afficher que le ou les téléchargement sont finis
et la page d'index.html
Je ne te poste pas le fichier testj.xml car elle contient seulement un chiffre compris entre 0 et 100.
Ce chiffre est écris par un script bash .il est évolutif au fur et a mesure du téléchargement
Comme tu l'auras surement compris, l'ensemble me sert a avoir une visibilité sur mes téléchargement et aussi pour simplifier cette tache.
Au lieu de me connecter a mon Nas etc... j'aurais just a cliquer sur l'icône de mon choix..
Et madame pourra aussi s'en servir ;-)
Soit indulgent sur le codage car c'est la première fois que je fais ce genre de chose ;-)
-value0.html> elle sert a afficher qu'il n'y a pas de téléchargement en cour et donc je peux cliquer sur une icône ou l'autre pour choisir le type de téléchargement
-Soit tous télécharger
-Soit télécharger l'élément le plus récent
</style>
<!-- affiche le texte voulue a l'ecran-->
</br>
</br>
</br>
<center>
<h1>Aucun téléchargement en cours</h1>
</center>
</br>
</br>
<!--ceci sert a afficher l'icone de telechargement global celui de gauche-->
<span id ="icone" style="margin-left: 150px;" >
<img src="icone.png" onclick="clickmvall()" style="cursor:pointer;" />
</span>
<!--ceci sert a afficher l'icone de telechargement global celui de droite-->
<span id ="icone" style="margin-left: 680px;" >
<img src="icone.png" onclick="clickmvone()" style="cursor:pointer;" />
</span>
<br>
<span id = "text" style="display: inline">
<aa><b>télécharger tous les fichiers</b></aa><bb><b>télécharger le dernier fichier</b></bb>
</span>
<style>
aa {
display: inline
font-size: 2em;
margin-top: 0.67em;
margin-bottom: 0.67em;
margin-left: 120;
margin-right: 0;
font-weight: bold;
}
bb {
display: inline
font-size: 2em;
margin-top: 0.67em;
margin-bottom: 0.67em;
margin-left: 625;
margin-right: 0;
font-weight: bold;
}
</style>
<!-- script pour requeter mvall.sh afin de lancer la copie entière -->
<script type="text/javascript">
function clickmvall()
{
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {
var reponse= xhr_object.responseText;
document.getElementById("reponse").innerHTML=reponse;
}
}
xhr_object.open("GET","http://192.168.1.16/dlprogressbar/test.php",true); xhr_object.send();
}
</script>
<!-- script pour requeter mvone.sh afin de lancer la copie du dernier fichier téléchargé sur la seed -->
<script type="text/javascript">
function clickmvone()
{
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {
var reponse= xhr_object.responseText;
document.getElementById("reponse").innerHTML=reponse;
}
}
xhr_object.open("GET","http://192.168.1.16/dlprogressbar/test.php",true); xhr_object.send();
}
</script>
Pour le moment au lieu de requetter mon script pour telecharger, je requête juste test.php
Je changerais l'address une fois l'ensemble finis ;-)
value.html=> elle sert a afficher mes barres de progressions pendant mon téléchargement.
<html>
<br />
<br />
<h1>
<center>
progression general du telechargement
</center>
<!-- éléments de la page -->
<!-- ceci sert a afficher la barre pour la progression total -->
<div id="barre1">
</div>
<br>
<br>
<!-- ceci sert a afficher la barre pour la progression par fichier -->
<div id="barre2">
</div>
<h3>
<!-- ceci sert a afficher le nom du fichier en cour de telechargement -->
<div id="texte">
</div>
</h3>
<!-- script js pour reactualiser l'id barre1 -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$('#barre1').load('http://192.168.1.16/dlprogressbar/barre1.php').fadeIn("slow");
}, 100); // refresh every 100 milliseconds
<!-- script js pour reactualiser l'id barre2 -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$('#barre2').load('http://192.168.1.16/dlprogressbar/barre2.php').fadeIn("slow");
}, 100); // refresh every 100 milliseconds
</script>
<!-- script js pour reactualiser l'id texte -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$('#texte').load('http://192.168.1.16/dlprogressbar/text.php').fadeIn("slow");
}, 100); // refresh every 100 milliseconds
</script>
</html>
-value100 elle sert a m'afficher que le ou les téléchargement sont finis
<html>
<br>
<br>
<br>
<br>
<center>
<h1>Le téléchargement est fini</h1>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<!--ceci sert a afficher pour retourner a la première page-->
<span id ="icone" >
<img src="bouton-Home.png" onclick="home()" style="width: 100px;" style="cursor:pointer;" />
</span>
</center
<!-- script pour retourer a la page d'acceuil en cliquant sur le bouton home -->
<script type="text/javascript">
function home()
{
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {
var reponse= xhr_object.responseText;
document.getElementById("reponse").innerHTML=reponse;
}
}
xhr_object.open("GET","http://192.168.1.16/dlprogressbar/test.php",true); xhr_object.send();
}
</script>
et la page d'index.html
<!--ceci est le css pour afficher le fond d'écran-->
<style>
body {
background-image: url(http://192.168.1.16/dlprogressbar/background.jpg);
background-position: top left;
background-repeat: no-repeat;
background-attachment: fixed;
background-size: 100% 100%;
}
</style>
<!-- éléments de la page -->
<!-- ceci sert a afficher le text du fichier en cour de telechargement -->
<div id="callback">
</div>
<!-- script js pour reactualiser les id -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
function mafonction() {
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "http://192.168.1.16/dlprogressbar/testj.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
document.write("<table border='1'>");
var x = xmlDoc.getElementsByTagName("valeur");
for ( i = 0; i < x.length; i++) {
var value = (x[i].getElementsByTagName("pourcent")[0].childNodes[0].nodeValue);
}
document.write("</table>");
if (value == 0){
$('#callback').load('http://192.168.1.16/dlprogressbar/value0.html').fadeIn("slow");
} else if ((value >= 1)&&(value <= 99)){
//aprés quelques test
//je pense qu une fois le telechargement termine le prodit en croix crachera et le fichier sera du coup i$
$('#callback').load('http://192.168.1.16/dlprogressbar/value.html').fadeIn("slow");
} else {
$('#callback').load('http://192.168.1.16/dlprogressbar/value100.html').fadeIn("slow");
}
}
var auto_refresh = setInterval(
function test(){
mafonction}, 1000);
mafonction();
test();
</script>
Je ne te poste pas le fichier testj.xml car elle contient seulement un chiffre compris entre 0 et 100.
Ce chiffre est écris par un script bash .il est évolutif au fur et a mesure du téléchargement
Comme tu l'auras surement compris, l'ensemble me sert a avoir une visibilité sur mes téléchargement et aussi pour simplifier cette tache.
Au lieu de me connecter a mon Nas etc... j'aurais just a cliquer sur l'icône de mon choix..
Et madame pourra aussi s'en servir ;-)
Soit indulgent sur le codage car c'est la première fois que je fais ce genre de chose ;-)
J'ai enlevé les ""
je pensais pourtant que les " étaient fait pour encadrer du texte....
Bref....sinon, sais tu comment je pourrais incruster un set-timeout? car je voudrai que mon code s'execute tout seul toutes les X secondes afin de rafraichir ma variable "value" ainsi que les conditions.
Cordialement
Bref, si ça marche sans qu'on comprenne pourquoi...
Sinon pour exécuter ton code en boucle, il faut plutôt se tourner vers setInterval : https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval