SAM a écrit :
Christophe Lohr a écrit :
Christophe Lohr a écrit :
je pensais qu'il devrait être possible de coder en javascript une fonction qui d'une part repère la base de l'url du document html en cours, puis l'ajoute à tous les liens locaux.
je pensais à l'algorithme suivant :
- Récupérer l'url du document. À partir de cela, prendre la sous-chaîne qui va jusqu'au dernier caractère '/', et considérer cela comme l'url de base
ce n'est sans doute pas ce qu'il faut faire ...
(qui nous dit que le stock des images sera dans *ce* répertoire ?)
c'est effectivement le cas
... mais :
<script type="text/javascript">
function resite() {
var url = self.location.toString().split('?file=')[0];
url = url.substring(0, url.lastIndex('/'));
var A = document.links;
for(var i=0; i<A.length; i++) {
if(A[i].href && A[i].href.indexOf('?file=')<0)
A[i].href = url + A[i].href.substring(A[i].href.lastIndex('/')+1);
}
}
window.onload = resite;
</script>
merci pour le coup de pouce.
Je n'ai pas compris pourquoi tu recherchais le '?file='
Mais voici ce à quoi je suis arrivé et qui fait presque ce que je veux :
<script type="text/javascript">
function resite() {
var url = self.location.toString();
var filename = self.location.pathname.substring(self.location.pathname.lastIndexOf('/')+1);
var basename = url.substring(0, url.indexOf(filename));
url = url.substring(0, url.lastIndexOf('/'));
var A = document.links;
for(var i=0; i<A.length; i++)
if(A[i].href && A[i].href.search(basename)==0 )
A[i].href = url + A[i].href.substring(A[i].href.lastIndexOf('/'));
A = document.images;
for(var i=0; i<A.length; i++)
if(A[i].src && A[i].src.search(basename)==0 )
A[i].src = url + A[i].src.substring(A[i].src.lastIndexOf('/'));
}
window.onload = resite;
</script>