Bonjour
Mon probleme est assez pointu : j'essaie de faire cohabiter des pages jscript et vbscript sur le même site.
certains modules sont écrits en jscript, de manière a pouvoir créer des objets.
En résumé, mes objets sont tous sur le modele :
1 2 3 4 5 6 7 8 9 10
| function monObjet() {
this.constructor.apply(this, arguments);
}
monObjet.prototype={
constructor : function constructor(){
// code constructeur
},
.... // d'autres propriétés et méthodes
} |
Pour l'instancier en vbscript, j'ajoute une fonction jscript comme ceci :
function CreateJSobject(obj){return eval('new ' + obj);}
Tout ceci est encapsulé dans une balise <script language="javascript" runat="server> et enregistré dans une page nommée "objet.asp", ce qui me permet, dans une page asp vbscript, de faire :
1 2 3 4
| <!--#include file="objet.asp" -->
<% dim o
set o=CreateJsObject("monObjet")
%> |
ça, ça marche plutot bien.
Maintenant, dans une page jscript, si je fait la même chose, a savoir :
1 2
| <!--#include file="objet.asp" -->
<% var o = new monObjet() %> |
ou même :
<% var o=CreateJsObject("monObjet") %>
j'obtient une erreur du style "this.constructor a la valeur Null ou n'est pas un objet."
j'avoue que j'y perd un peu mon latin (non non, ce n'est pas un langage de programmation).
Pour résumer, ma question est : comment puis-je instancier mes objets indiferemment en jscript et vbscript ?
Celui qui à la réponse ne gagne rien, mais :
Partager