| Url
Externe Dynamique |
Cela apparaît de prime abord très simple. Pourtant, beaucoup d'entre nous ont passé beaucoup de temps sur ce petit problème. Comment faire référence à une URL d'un site externe dynamiquement, c'est à dire en récupérant l'adresse dans une table par exemple.
Plusieurs solutions existent en fait, et je profite de la contribution de Bertrand pour les récapituler dans cette page.
Tout d'abord, la solution de Bertrand :
Certaines actions n'étant possible qu'au niveau du navigateur client, il est parfois utile de lancer un code navigateur à partir du code serveur.
Pour cela l'astuce est la suivante :
1) placer un champ de saisie invisible dans la page
2) dans le code de chargement nagigateur, tester le contenu de ce champ
s'il est non vide ou s'il contient une valeur spécifique selon votre
choix, exécuter un code spécifique
Par conséquent, dans le code serveur de n'importe quel objet de cette
page, si vous avez besoin de lancer une action navigateur, mettez la valeur
correspondante à votre test dans le champ de saisie et faites une actualisation
de la page par un PageActualise(Nom_Page).
Cela aura pour effet d'executer le code de chargement de la page, et donc de
lancer l'action navigateur que vous aurez mise dans la partie chargement.
Exemple d'utilisation : pour lancer une URL externe et dynamique à partir du code serveur
Exposée dans la Wtablette n° 65, ceci est une technique pour gérer ce lien dans une Zone répétée.
• Créer un champs Lien dans la zone répétée
(ex URL_LIEN) • Créer un attribut lié à ce champs lien aURL_LIEN en choisissant URL_ACTION comme propriété. |
![]() |
Ensuite en code de chargement de votre ZR, vous aurez un code de ce style :
|
// Recup d'un fichier d'une URL du genre http://pcsoft.fr
(zone UrlFic) |
Vous pouvez aussi gérer cela avec un champs de type HTML que vous allez remplir dynamiquement et qui contiendra le code HTML du lien, à savoir les balises href, target et le libellé du lien.
| // si géré avec un champs HTML REPETENEWS.ATT_HTML="<a href="+Entre_Guillemet(REPETENEWS.ATT_URL)+"target=""_blank"" CLASS=PetitesPolices>"+sLibellé+"</a>" |
Cette technique se rapproche de celle de Bertrand.
Principe : On utilise un champs caché dans la page (ou une variable globale)
et en code onload, on va récupérer la valeur de ce champs pour
afficher la page dans le navigateur courant.
Cette technique vous a déjà été exposée dans la tablette n° 107.