J'ai créé un diaporama des images dans mon site, mais le telechargement des images est lente est-ce qu'il y a pas une fonction qui peut me permettre de mettre mes images en cache?
Je ne suis pas sur qu'il y ait de solutions miracle pour cela. Drupal a une option de mise en cache, mais cela n'ira pas pour ce que tu souhaite faire. En effet, pour pouvoir visionner une image, il faut bien la télécharger, cache de drupal ou pas. Or, si l'image est trop lourde, c'est long.
Ce genre de cache se situe plutôt au niveau du navigateur. Une fois que tu as téléchargé une image une fois, le navigateur la met dans un dossier temporaire sur ton ordi, et la prochaine fois que tu visionne le site, il va chercher les images sur le disque dur plutôt que sur le site.
Mais cela ne supprimera pas le fait de devoir les téléchager au moins la première fois, de plus, certains d'utilisateurs suppriment carrément le cache sur leur navigateur.
Quelles tailles font tes images ? N'y a t'il pas moyen de les optimiser ?
Au fait les la taille de l'image ne dépendra pas de moi parce que le diapo que j'ai fait est dynamique, il prend les images uploader par les utilisateur et le fait passé voyez la réalité ici
//afficher les noms et extensions des imagess du répertoire echo " var cha = new String('".$touts."');"; echo 'var nom=cha.split(",");'; //echo 'alert(nom[0]);'; echo'</SCRIPT>';
?>
//alert(nom[4]);
function suivante() {
numero += 1;
if (numero == nom.length + 1) numero = 1;
document.image.src = dossier+nom[numero];
}
function precedente() {
numero -= 1;
if (numero == 0) numero = nom.length;
document.image.src = dossier+nom[numero];
}
function changer() {
numero += 1;
if (numero == nom.length + 1) numero = 1;
document.image.src = dossier+nom[numero];
roll=setTimeout("changer()", 1500);
}
function initial() {
window.clearTimeout(roll);
document.image.src = dossier+nom[numero];
}
function auto() {
if (bauto == 0) {
bauto =1; changer();
document.automat.src = "img/souk.gif";
document.automat.title = "Stop";
}
else {
bauto =0; initial();
document.automat.src = "img/jacks.gif";
document.automat.title = "Auto";
}
}
//-->
Joined: 2007-01-02
Je ne suis pas sur qu'il y ait de solutions miracle pour cela. Drupal a une option de mise en cache, mais cela n'ira pas pour ce que tu souhaite faire. En effet, pour pouvoir visionner une image, il faut bien la télécharger, cache de drupal ou pas. Or, si l'image est trop lourde, c'est long.
Ce genre de cache se situe plutôt au niveau du navigateur. Une fois que tu as téléchargé une image une fois, le navigateur la met dans un dossier temporaire sur ton ordi, et la prochaine fois que tu visionne le site, il va chercher les images sur le disque dur plutôt que sur le site.
Mais cela ne supprimera pas le fait de devoir les téléchager au moins la première fois, de plus, certains d'utilisateurs suppriment carrément le cache sur leur navigateur.
Quelles tailles font tes images ? N'y a t'il pas moyen de les optimiser ?
Joined: 2008-07-03
slt,
Au fait les la taille de l'image ne dépendra pas de moi parce que le diapo que j'ai fait est dynamique, il prend les images uploader par les utilisateur et le fait passé voyez la réalité ici
http://elpaso-knetworks.nexen.net/tests/soukafrica/soukafrica/
cliquez sur l'image pour lancer le diaporama et mon souci est d'avoir même un code js de mise en cache.
Voyez comment je recupère les images dans le rertoire files:
<?php
$dossier = './files/images';
$d = dir($dossier);
while ($entry = $d->read())
{
if($entry != "." && $entry != ".."){
$lien = $dossier .' '.$entry;
$lien = str_replace('Object ', 'files/images/', $lien);
$malace.=$entry.",";
?>
<?php
//echo $malace;
}
}
$touts=substr($malace, 0, strlen($malace)-1);
//echo $touts;
$d->close();
echo '<script language="JavaScript">';
echo "var bauto = 0;";
echo 'var dossier="files/images/";';
echo 'var numero = 1;';
echo 'function objet() {';
echo 'this.length = objet.arguments.length;';
echo 'for (var i = 0; i < this.length; i++) this[i+1] = objet.arguments[i];';
echo '}';
//afficher les noms et extensions des imagess du répertoire
echo " var cha = new String('".$touts."');";
echo 'var nom=cha.split(",");';
//echo 'alert(nom[0]);';
echo'</SCRIPT>';
?>
//alert(nom[4]);
function suivante() {
numero += 1;
if (numero == nom.length + 1) numero = 1;
document.image.src = dossier+nom[numero];
}
function precedente() {
numero -= 1;
if (numero == 0) numero = nom.length;
document.image.src = dossier+nom[numero];
}
function changer() {
numero += 1;
if (numero == nom.length + 1) numero = 1;
document.image.src = dossier+nom[numero];
roll=setTimeout("changer()", 1500);
}
function initial() {
window.clearTimeout(roll);
document.image.src = dossier+nom[numero];
}
function auto() {
if (bauto == 0) {
bauto =1; changer();
document.automat.src = "img/souk.gif";
document.automat.title = "Stop";
}
else {
bauto =0; initial();
document.automat.src = "img/jacks.gif";
document.automat.title = "Auto";
}
}
//-->