Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Syntaxe Jscript dans une page ASP

10 réponses
Avatar
J-Pierre
Bonsoir,

Décidement, j'ai bien du mal avec la syntaxe Jscript:

Tout d'abord, en VB, je crée une variable qui contient le chemin complet du répertoire en cours. Il peut contenir des espaces
et des apostrophes. Dans ce cas, il y a des espaces.

pathPDF = server.mappath("/") & APPRepClients & "/" & Wrep & "/"
pathPDF = Replace(pathPDF, "\","/")
pathPDF = Replace(pathPDF, "'","\'")

Ensuite, dans une fonction qui reçoit en paramètre le nom d'un PDF, je voudrais ouvrir ce fichier dans une nouvelle fenêtre:

function VoirPDF(WPDF) {

if (window.PDFImage) {
PDFImage.close();
}

WfullPDF = "<%=pathPDF%>" + WPDF
alert(WfullPDF); // pour vérifier de visu que c'est correct

PDFImage = window.open('\'' + WfullPDF + '\'', "PDFImage",
"resizable,width=" + (screen.availWidth - 10) + ",height=" + screen.availHeight +
",top=" + 0 + ",left=" + 0 + ",screenY=" + 0 + ",screenX=" + 0, "hist=no");

}

La fenêtre s'ouvre avec le message: "La page est introuvable."

Mais la page existe.....J'ai tout, mais alors vraiment tout essayé, des ", des ', des \, sans rien, ça fait plusieurs heures
que j'essaie.
Bref, si vous savez :-)
Merci d'avance
J-Pierre

10 réponses

Avatar
Jean
alert(WfullPDF); // pour vérifier de visu que c'est correct

PDFImage = window.open(''' + WfullPDF + ''', "PDFImage",
"resizable,width=" + (screen.availWidth - 10) + ",height=" +
screen.availHeight +
",top=" + 0 + ",left=" + 0 + ",screenY=" + 0 + ",screenX=" + 0,
"hist=no");

}


Si dans le résultat de alert(WfullPDF); c'est correct et que comme je
pense le comprendre les sont remplacés par des /,
faites un essai simple avec

PDFImage = window.open(WfullPDF)

au lieu de

PDFImage = window.open(''' + WfullPDF + '''blablablabla


Sans garanties ... ils est tard :-)

Amicalement,

--
Jean - JMST
Belgium

Avatar
J-Pierre
J'essaie ça demain, il est effectivement un peu tard.

Entretemps, j'ai trouvé une solution: Au lieu d'ouvrir directement le fichier PDF, j'ouvre une page ASP qui construit le
string en VB, puis fait un "redirect":

Response.Redirect APPRepClients & "/" & Session("WorkingRep") & "/" & WPDF

Ca marche très bien.

Mais j'aimerais bien le faire marcher en Jscript.
Pour le plaisir de savoir le faire.

J-Pierre

"Jean" a écrit dans le message de news:
alert(WfullPDF); // pour vérifier de visu que c'est correct

PDFImage = window.open(''' + WfullPDF + ''', "PDFImage",
"resizable,width=" + (screen.availWidth - 10) + ",height=" + screen.availHeight +
",top=" + 0 + ",left=" + 0 + ",screenY=" + 0 + ",screenX=" + 0, "hist=no");

}


Si dans le résultat de alert(WfullPDF); c'est correct et que comme je pense le comprendre les sont remplacés par des /,
faites un essai simple avec

PDFImage = window.open(WfullPDF)

au lieu de

PDFImage = window.open(''' + WfullPDF + '''blablablabla


Sans garanties ... ils est tard :-)

Amicalement,

--
Jean - JMST
Belgium





Avatar
J-Pierre
Bonjour Jean,

PDFImage = window.open(WfullPDF) ne marche pas, je pense que compte tenu des espaces, les apostrophes sont nécessaires.

Merci
J-Pierre

"Jean" a écrit dans le message de news:

Si dans le résultat de alert(WfullPDF); c'est correct et que comme je pense le comprendre les sont remplacés par des /,
faites un essai simple avec

PDFImage = window.open(WfullPDF)

au lieu de

PDFImage = window.open(''' + WfullPDF + '''blablablabla


Sans garanties ... ils est tard :-)

Amicalement,

--
Jean - JMST
Belgium




Avatar
Jean
PDFImage = window.open(WfullPDF) ne marche pas, je pense que compte tenu des
espaces, les apostrophes sont nécessaires.


Je pense que c'est sans doute plutôt parcequ'ils ne sont pas remplacés
par le caractère d'échappement %20.

Vous pouvez essayer en utilisant la méthode encodeUri :

http://msdn.microsoft.com/library/en-us/script56/html/17bab5a2-bcd4-46c2-8b52-b2b5a0ed98a3.asp

PDFImage = window.open(encodeURI(WfullPDF))

ou la méthode escape :

http://msdn.microsoft.com/library/en-us/script56/html/caa92bea-ba69-4109-a68a-6e2debda463a.asp

PDFImage = window.open(escape(WfullPDF))

Vous ne devrez peut être le faire que sur WPDF si c'est déjà fait dans
la valeur retournée par variable pathPDF.

WfullPDF = "<%=pathPDF%>" + encodeURI(WPDF)


Amicalement,

--
Jean - JMST
Belgium

Avatar
Jean
le caractère d'échappement %20.


la séquence d'échappement :-)

--
Jean - JMST
Belgium

Avatar
Jean
Je pense que c'est sans doute plutôt parcequ'ils ne sont pas remplacés par la
séquence d'échappement %20.


Quoique ... la méthode open le fait automatiquement ...

--
Jean - JMST
Belgium

Avatar
Jean
alert(WfullPDF); // pour vérifier de visu que c'est correct


Vous avez quoi comme valeur de retour ici ?

Amicalment,

--
Jean - JMST
Belgium

Avatar
J-Pierre
:-(((((((((((((((((((((((((((((((((((((

C'était la question à poser........

Ma valeur de retour était absolue:
"E:xxxxx/yyyyy/zzzzzzz/monFicher.pdf"

J'ai donc enlevé server.mappath("/") pour la création de ma variable et ça marche.

Je suis vraiment désolé, en plus, j'affichais cette valeur à chaque fois que j'essayais d'ouvrir mon document.....

Le côté positif, c'est que j'ai beaucoup appris :-)
Jscript n'est pas évident du tout lorsqu'on a trop l'habitude de VB ou VBS

Merci Jean :-)
J-Pierre

"Jean" a écrit dans le message de news:
alert(WfullPDF); // pour vérifier de visu que c'est correct


Vous avez quoi comme valeur de retour ici ?

Amicalment,

--
Jean - JMST
Belgium





Avatar
J-Pierre
Me revoilà,

Il y a une différence dans la page affichée avec les deux méthodes:

1-Si j'utilise "PDFImage = window.open(WfullPDF)", la nouvelle fenêtre qui s'ouvre ne fait pas la taille maximale de l'écran
et est redimensionnable, et les barres d'outils et d'adresse d'IE sont visibles.

2-Si au lieu d'ouvrir directement le PDF, j'ouvre une nouvelle fenêtre:

PDFTempWindow = window.open(adresse, "PDFTempWindow")

et que dans le code de cette fenêtre, je mets:

Response.Redirect APPRepClients & "/" & Session("WorkingRep") & "/" & WPDF

la nouvelle fenêtre qui s'ouvre fait la taille maximale de l'écran et n'est pas redimensionnable, les barres d'outils et
d'adresse d'IE ne sont pas visibles, seule la barre d'outils Acrobat (ou Reader) est visible.

Je préfère cette 2ème solution, mais l'exercice était intéressant.

Merci encore
J-Pierre
Avatar
Jean
Je suis vraiment désolé, en plus, j'affichais cette valeur à chaque fois que
j'essayais d'ouvrir mon document.....


Pas de soucis ... ça arrive aussi en Belgique :-)

Amicalement,

--
Jean - JMST
Belgium