J'ai une question concernant l'URL et jQuery.
Puis-je spécifier une URL pour demander à jQuery d'exécuter une fonction ?
Par exemple http://www.website.com/about.html?XYZ
pour exécuter une fonction XYZ();
?
J'ai une question concernant l'URL et jQuery.
Puis-je spécifier une URL pour demander à jQuery d'exécuter une fonction ?
Par exemple http://www.website.com/about.html?XYZ
pour exécuter une fonction XYZ();
?
Vous pouvez insérer dans cette page web un code qui examine les paramètres de requête de l'URL et qui, en fonction de ce qu'il trouve, appelle la fonction javascript de votre choix.
Dans votre exemple particulier, une version simplifiée serait la suivante :
// code that runs when page is loaded:
if (window.location.search == "?XYZ") {
XYZ();
}
ou si vous voulez qu'il exécute n'importe quelle fonction présente, vous pouvez l'extraire de la chaîne et exécuter n'importe quel nom qui s'y trouve.
// code that runs when page is loaded:
if (window.location.search.length > 1) {
var f = window.location.search.substr(1); // strip off leading ?
try {
eval(f + "()"); // be careful here, this allows injection of javascript into your page
} catch(e) {/* handler errors here */}
}
Le fait d'autoriser l'exécution d'un code javascript arbitraire dans votre page peut ou non avoir des implications indésirables en matière de sécurité. Il serait préférable (si possible) de ne prendre en charge qu'un ensemble spécifique de fonctions préexistantes que vous recherchez et dont vous savez qu'elles sont sûres, plutôt que d'exécuter du javascript arbitraire comme dans le deuxième exemple.
Dans la barre d'URL, vous pouvez toujours mettre javascript:XYZ();
Essayez-le après le chargement de l'url : http://jsfiddle.net/maniator/mmAxY/show/
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.