tout est dans le titre ;-)
je cherche donc un js compatible urlencode de php
tout est dans le titre ;-)
je cherche donc un js compatible urlencode de php
tout est dans le titre ;-)
je cherche donc un js compatible urlencode de php
cé koi urlencode de php ?
kesskeçafé ?
en JS on a : escape(url) ou encodeURI(url)
<http://fr.selfhtml.org/javascript/objets/independant.htm#escape>
<http://fr.selfhtml.org/javascript/objets/independant.htm#encode_uri>
mais ça n'a pas l'air de faire tout exactement pareil que urlencode($url)
qui semble plutôt faire :
url.replace(/ /g,'+').replace(/&/g,'&')
en plus de passer en %truc les caractères inavouables
Voir à voir si des fois :
function encodeURL(url) {
return encodeURI(url.replace(/ /g,'+')).replace(/&/g,'&')
}
function decodeURL(url) {
return decodeURI(url).replace(/+/g,' ')).replace(/&/g,'&')
}
Mais, normalement, encoreURI(url) devrait suffire.
javascript:var e='http://si te.cm?val1=mè
che&val2=trôu';alert(encodeURI(e));
cé koi urlencode de php ?
kesskeçafé ?
en JS on a : escape(url) ou encodeURI(url)
<http://fr.selfhtml.org/javascript/objets/independant.htm#escape>
<http://fr.selfhtml.org/javascript/objets/independant.htm#encode_uri>
mais ça n'a pas l'air de faire tout exactement pareil que urlencode($url)
qui semble plutôt faire :
url.replace(/ /g,'+').replace(/&/g,'&')
en plus de passer en %truc les caractères inavouables
Voir à voir si des fois :
function encodeURL(url) {
return encodeURI(url.replace(/ /g,'+')).replace(/&/g,'&')
}
function decodeURL(url) {
return decodeURI(url).replace(/+/g,' ')).replace(/&/g,'&')
}
Mais, normalement, encoreURI(url) devrait suffire.
javascript:var e='http://si te.cm?val1=mè
che&val2=trôu';alert(encodeURI(e));
cé koi urlencode de php ?
kesskeçafé ?
en JS on a : escape(url) ou encodeURI(url)
<http://fr.selfhtml.org/javascript/objets/independant.htm#escape>
<http://fr.selfhtml.org/javascript/objets/independant.htm#encode_uri>
mais ça n'a pas l'air de faire tout exactement pareil que urlencode($url)
qui semble plutôt faire :
url.replace(/ /g,'+').replace(/&/g,'&')
en plus de passer en %truc les caractères inavouables
Voir à voir si des fois :
function encodeURL(url) {
return encodeURI(url.replace(/ /g,'+')).replace(/&/g,'&')
}
function decodeURL(url) {
return decodeURI(url).replace(/+/g,' ')).replace(/&/g,'&')
}
Mais, normalement, encoreURI(url) devrait suffire.
javascript:var e='http://si te.cm?val1=mè
che&val2=trôu';alert(encodeURI(e));
SAM wrote:Voir à voir si des fois :
function encodeURL(url) {
return encodeURI(url.replace(/ /g,'+')).replace(/&/g,'&')
}
function decodeURL(url) {
return decodeURI(url).replace(/+/g,' ')).replace(/&/g,'&')
}
cf mon essai, en js :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/path2id.html
et son équivalent en php :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/path2id.php
j'ai lu sur le net que urlencode et encodeURI ne sont pas strictement
equivalents.
mon premier essai est là :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php
la première requête fonctionne mais la page s'affiche sans images et les
liens href ne marchent pas, je ne pige pas pourquoi.
sur mon mac, j'ai sauvegardé cette page index.php en index.php.html :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php.html
elle montre d'abord ce que la page précédente (index.php) aurait dû
afficher puis fait une nouvelle requêtesur le même dossier avec le même
résultat...
SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> wrote:
Voir à voir si des fois :
function encodeURL(url) {
return encodeURI(url.replace(/ /g,'+')).replace(/&/g,'&')
}
function decodeURL(url) {
return decodeURI(url).replace(/+/g,' ')).replace(/&/g,'&')
}
cf mon essai, en js :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/path2id.html
et son équivalent en php :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/path2id.php
j'ai lu sur le net que urlencode et encodeURI ne sont pas strictement
equivalents.
mon premier essai est là :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php
la première requête fonctionne mais la page s'affiche sans images et les
liens href ne marchent pas, je ne pige pas pourquoi.
sur mon mac, j'ai sauvegardé cette page index.php en index.php.html :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php.html
elle montre d'abord ce que la page précédente (index.php) aurait dû
afficher puis fait une nouvelle requêtesur le même dossier avec le même
résultat...
SAM wrote:Voir à voir si des fois :
function encodeURL(url) {
return encodeURI(url.replace(/ /g,'+')).replace(/&/g,'&')
}
function decodeURL(url) {
return decodeURI(url).replace(/+/g,' ')).replace(/&/g,'&')
}
cf mon essai, en js :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/path2id.html
et son équivalent en php :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/path2id.php
j'ai lu sur le net que urlencode et encodeURI ne sont pas strictement
equivalents.
mon premier essai est là :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php
la première requête fonctionne mais la page s'affiche sans images et les
liens href ne marchent pas, je ne pige pas pourquoi.
sur mon mac, j'ai sauvegardé cette page index.php en index.php.html :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php.html
elle montre d'abord ce que la page précédente (index.php) aurait dû
afficher puis fait une nouvelle requêtesur le même dossier avec le même
résultat...
Ha! mais là, en +, tu veux ':' remplaçant '/' !
(sais pas pourquoi tu veux tous ces trucs d'id, m'enfin ...)
j'ai lu sur le net que urlencode et encodeURI ne sont pas strictement
equivalents.
c'est bien ce que je disais ;-)
mais là est-ce réellement important ?
mon premier essai est là :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php
la première requête fonctionne mais la page s'affiche sans images et les
liens href ne marchent pas, je ne pige pas pourquoi.
ce browse() ?sur mon mac, j'ai sauvegardé cette page index.php en index.php.html :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php.html
elle montre d'abord ce que la page précédente (index.php) aurait dû
afficher puis fait une nouvelle requêtesur le même dossier avec le même
résultat...
Pourquoi n'a t-on pas simplement :
<li title="menus - last modified: 23rd May 08 19:35:50"
class="dir"
id="ID:Users:yt:Sites:XML:menus"
onclick="browse(this);">
menus
</li>
au lieu de :
<li title="menus - last modified: 23rd May 08 19:35:50">
<span onclick='browse("ID:2FUsers:2Fyt:2FSites:2FXML:2Fmenus");'
class="dir">menus</span>
<div style="margin-left: 2em"
id="ID:2FUsers:2Fyt:2FSites:2FXML:2Fmenus">
</div>
</li>
pour obtenir après déploiement :
<li title="menus - last modified: 23rd May 08 19:38:10"
class="dir_opened"
id="ID:Users:yt:Sites:XML:menus"
onclick="browse(this);">
menus
<ul>
<li class="file"
id="ID:Users:yt:Sites:XML:menus:truc.xhtml"
onclick="browse(this)">
truc.xhtml
<li>
<li class="imag"
id="ID:Users:yt:Sites:XML:menus:truc.png"
onclick="browse(this)">
truc.png
<li>
</ul>
</li>
function browse(what) {
var path = decodeURIComponent(what.id.substring(2).replace(/:/g,'%2F'));
if(what.className.indexOf('opened')<0)
location = path;
else
location = replier(path);
// what.getElementsByTagName('UL')[0].style.display = 'none';
}
Ha! mais là, en +, tu veux ':' remplaçant '/' !
(sais pas pourquoi tu veux tous ces trucs d'id, m'enfin ...)
j'ai lu sur le net que urlencode et encodeURI ne sont pas strictement
equivalents.
c'est bien ce que je disais ;-)
mais là est-ce réellement important ?
mon premier essai est là :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php
la première requête fonctionne mais la page s'affiche sans images et les
liens href ne marchent pas, je ne pige pas pourquoi.
ce browse() ?
sur mon mac, j'ai sauvegardé cette page index.php en index.php.html :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php.html
elle montre d'abord ce que la page précédente (index.php) aurait dû
afficher puis fait une nouvelle requêtesur le même dossier avec le même
résultat...
Pourquoi n'a t-on pas simplement :
<li title="menus - last modified: 23rd May 08 19:35:50"
class="dir"
id="ID:Users:yt:Sites:XML:menus"
onclick="browse(this);">
menus
</li>
au lieu de :
<li title="menus - last modified: 23rd May 08 19:35:50">
<span onclick='browse("ID:2FUsers:2Fyt:2FSites:2FXML:2Fmenus");'
class="dir">menus</span>
<div style="margin-left: 2em"
id="ID:2FUsers:2Fyt:2FSites:2FXML:2Fmenus">
</div>
</li>
pour obtenir après déploiement :
<li title="menus - last modified: 23rd May 08 19:38:10"
class="dir_opened"
id="ID:Users:yt:Sites:XML:menus"
onclick="browse(this);">
menus
<ul>
<li class="file"
id="ID:Users:yt:Sites:XML:menus:truc.xhtml"
onclick="browse(this)">
truc.xhtml
<li>
<li class="imag"
id="ID:Users:yt:Sites:XML:menus:truc.png"
onclick="browse(this)">
truc.png
<li>
</ul>
</li>
function browse(what) {
var path = decodeURIComponent(what.id.substring(2).replace(/:/g,'%2F'));
if(what.className.indexOf('opened')<0)
location = path;
else
location = replier(path);
// what.getElementsByTagName('UL')[0].style.display = 'none';
}
Ha! mais là, en +, tu veux ':' remplaçant '/' !
(sais pas pourquoi tu veux tous ces trucs d'id, m'enfin ...)
j'ai lu sur le net que urlencode et encodeURI ne sont pas strictement
equivalents.
c'est bien ce que je disais ;-)
mais là est-ce réellement important ?
mon premier essai est là :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php
la première requête fonctionne mais la page s'affiche sans images et les
liens href ne marchent pas, je ne pige pas pourquoi.
ce browse() ?sur mon mac, j'ai sauvegardé cette page index.php en index.php.html :
http://thoraval.yvon.free.fr/PHP/AJAX_dir_tree/index.php.html
elle montre d'abord ce que la page précédente (index.php) aurait dû
afficher puis fait une nouvelle requêtesur le même dossier avec le même
résultat...
Pourquoi n'a t-on pas simplement :
<li title="menus - last modified: 23rd May 08 19:35:50"
class="dir"
id="ID:Users:yt:Sites:XML:menus"
onclick="browse(this);">
menus
</li>
au lieu de :
<li title="menus - last modified: 23rd May 08 19:35:50">
<span onclick='browse("ID:2FUsers:2Fyt:2FSites:2FXML:2Fmenus");'
class="dir">menus</span>
<div style="margin-left: 2em"
id="ID:2FUsers:2Fyt:2FSites:2FXML:2Fmenus">
</div>
</li>
pour obtenir après déploiement :
<li title="menus - last modified: 23rd May 08 19:38:10"
class="dir_opened"
id="ID:Users:yt:Sites:XML:menus"
onclick="browse(this);">
menus
<ul>
<li class="file"
id="ID:Users:yt:Sites:XML:menus:truc.xhtml"
onclick="browse(this)">
truc.xhtml
<li>
<li class="imag"
id="ID:Users:yt:Sites:XML:menus:truc.png"
onclick="browse(this)">
truc.png
<li>
</ul>
</li>
function browse(what) {
var path = decodeURIComponent(what.id.substring(2).replace(/:/g,'%2F'));
if(what.className.indexOf('opened')<0)
location = path;
else
location = replier(path);
// what.getElementsByTagName('UL')[0].style.display = 'none';
}
SAM wrote:(sais pas pourquoi tu veux tous ces trucs d'id, m'enfin ...)
ben c'est juste pour avoir un id conforme à la norme du w3c
qui ne supporte pas le % mais seulement : A-Za-z0-9 : et .
mais là est-ce réellement important ?
+/- j'ai un fichier avec une apostrophe "'" qui ne marche pas.
Pourquoi n'a t-on pas simplement :
<li title="menus - last modified: 23rd May 08 19:35:50"
class="dir"
id="ID:Users:yt:Sites:XML:menus"
onclick="browse(this);">
menus
</li>
oui, ça la structure, c'est modifiable, il fallait d'abord que ça roule
pour tester le principe...
function browse(what) {
var path = decodeURIComponent(what.id.substring(2).replace(/:/g,'%2F'));
if(what.className.indexOf('opened')<0)
location = path;
else
location = replier(path);
// what.getElementsByTagName('UL')[0].style.display = 'none';
}
euh, attends là, le script marche par xhr, il affiche à l'ouverture
l'arborescence de premier niveau et quand on clique sur un dossier, le
javascript browse(dir); fait un xhr vers le php browse.php qui lui
répond en envoyant le contenu du répertoire sous forme xml/xhtml.
SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> wrote:
(sais pas pourquoi tu veux tous ces trucs d'id, m'enfin ...)
ben c'est juste pour avoir un id conforme à la norme du w3c
qui ne supporte pas le % mais seulement : A-Za-z0-9 : et .
mais là est-ce réellement important ?
+/- j'ai un fichier avec une apostrophe "'" qui ne marche pas.
Pourquoi n'a t-on pas simplement :
<li title="menus - last modified: 23rd May 08 19:35:50"
class="dir"
id="ID:Users:yt:Sites:XML:menus"
onclick="browse(this);">
menus
</li>
oui, ça la structure, c'est modifiable, il fallait d'abord que ça roule
pour tester le principe...
function browse(what) {
var path = decodeURIComponent(what.id.substring(2).replace(/:/g,'%2F'));
if(what.className.indexOf('opened')<0)
location = path;
else
location = replier(path);
// what.getElementsByTagName('UL')[0].style.display = 'none';
}
euh, attends là, le script marche par xhr, il affiche à l'ouverture
l'arborescence de premier niveau et quand on clique sur un dossier, le
javascript browse(dir); fait un xhr vers le php browse.php qui lui
répond en envoyant le contenu du répertoire sous forme xml/xhtml.
SAM wrote:(sais pas pourquoi tu veux tous ces trucs d'id, m'enfin ...)
ben c'est juste pour avoir un id conforme à la norme du w3c
qui ne supporte pas le % mais seulement : A-Za-z0-9 : et .
mais là est-ce réellement important ?
+/- j'ai un fichier avec une apostrophe "'" qui ne marche pas.
Pourquoi n'a t-on pas simplement :
<li title="menus - last modified: 23rd May 08 19:35:50"
class="dir"
id="ID:Users:yt:Sites:XML:menus"
onclick="browse(this);">
menus
</li>
oui, ça la structure, c'est modifiable, il fallait d'abord que ça roule
pour tester le principe...
function browse(what) {
var path = decodeURIComponent(what.id.substring(2).replace(/:/g,'%2F'));
if(what.className.indexOf('opened')<0)
location = path;
else
location = replier(path);
// what.getElementsByTagName('UL')[0].style.display = 'none';
}
euh, attends là, le script marche par xhr, il affiche à l'ouverture
l'arborescence de premier niveau et quand on clique sur un dossier, le
javascript browse(dir); fait un xhr vers le php browse.php qui lui
répond en envoyant le contenu du répertoire sous forme xml/xhtml.
Mais puisqu'on a le path dans la fonction appelante, pourquoi se le
refarcir pour un id ?
Mais puisqu'on a le path dans la fonction appelante, pourquoi se le
refarcir pour un id ?
Mais puisqu'on a le path dans la fonction appelante, pourquoi se le
refarcir pour un id ?
SAM wrote:Mais puisqu'on a le path dans la fonction appelante, pourquoi se le
refarcir pour un id ?
quand XHR retourne la structure d'un dossier, cette structure peut
contenir d'autres dossiers qu'il faut bien identifier par une bijection
PATH <--> ID...
SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> wrote:
Mais puisqu'on a le path dans la fonction appelante, pourquoi se le
refarcir pour un id ?
quand XHR retourne la structure d'un dossier, cette structure peut
contenir d'autres dossiers qu'il faut bien identifier par une bijection
PATH <--> ID...
SAM wrote:Mais puisqu'on a le path dans la fonction appelante, pourquoi se le
refarcir pour un id ?
quand XHR retourne la structure d'un dossier, cette structure peut
contenir d'autres dossiers qu'il faut bien identifier par une bijection
PATH <--> ID...