Question

J'ai la situation suivante. Un client utilise JavaScript avec jQuery pour créer un site web complexe. Nous aimerions utiliser JavaScript et jQuery sur le serveur (IIS) pour les raisons suivantes:

  1. Transfert de compétences - nous aimerions utiliser JavaScript et jQuery sur le serveur et ne pas avoir à utiliser par exemple VB Script. / Asp classique. framework .Net / Java etc est exclue à cause de cela.

  2. Amélioration des options de recherche / accessibilité. Nous aimerions pouvoir utiliser jQuery comme un système de modèles, mais ce n'est pas viable pour les moteurs de recherche et les utilisateurs avec js éteint -. À moins que nous pouvons sélectivement exécuter ce code sur le serveur

Il y a des investissements importants dans IIS et Windows Server, de sorte que la modification qui n'est pas une option.

Je sais que vous pouvez exécuter jScript sur IIS à l'aide de Windows Script Host, mais je suis pas sûr de l'évolutivité et le processus entourant ce sujet. Je suis pas sûr que cela aurait accès au DOM.

Voici un diagramme qui explique la situation, espérons. Je me demandais si quelqu'un a quoi que ce soit semblable?

EDIT: Je cherche pas critique sur l'architecture web, je suis tout simplement envie de savoir s'il y a des options pour manipuler le DOM d'une page avant qu'elle ne soit envoyée au client, en utilisant javascript. Jaxer est un tel produit (pas IIS) Merci.

Était-ce utile?

La solution

Jetez un oeil à amener le navigateur au serveur , Rhino et Utilisez IIS de Microsoft en tant que moteur de servlet Java .

Le premier lien est du blog de John Resig (créateur de jQuery).

Mise à jour 2 Août 2011

Autres conseils

L'idée de réutiliser le client JS sur le serveur peut sembler tentant, mais je ne suis pas sûr que jQuery lui-même serait prêt à fonctionner dans un environnement de serveur.

Vous devrez définir le contexte global pour jQuery en quelque sorte en initialisant window, document, self, location, etc.. Je ne suis pas sûr que ce qui est faisable.

Par ailleurs, comme l'a mentionné Cheeso, Active Server Pages est une technologie très obsolète, il a été remplacé par ASP.Net par Microsoft au début du siècle. Je l'habitude de maintenir un système existant en utilisant ASP 3.0 pour plus d'un an et qui a été la douleur. Le plus merveilleux passe-temps a été mise au point: vous trouverez à peu près rien dans le but aujourd'hui et devra decript belles erreurs comme dans le journal IIS:

  

erreur '800a9c68'
  définie par l'application ou l'erreur définie objet

Cependant, je peux confirmer que je suis parvenu à la réutilisation client et le serveur JScript. Mais ce code a été écrit par moi qui savait qu'il allait être utilisé sur le serveur.

P.S. Je ne recommanderais pas déplacer de cette façon. Il y a beaucoup de cadres structurants qui sont familiers à ceux qui écrivent HTML et JavaScript.

JScript fonctionne sur IIS par quelque chose appelé ASP.
Active Server Pages.
Il a d'abord été disponible en 1996.

Finalement, ASP.NET a été présenté comme un successeur. Mais ASP est toujours pris en charge.

Il n'y a pas DOM pour la page HTML, cependant.

Vous devrez peut-être revenir sur votre architecture un peu.

Je pense que les seules solutions viables que vous êtes susceptible de trouver un endroit près de prêt à impliquer la mise IIS devant Java. Il y a deux navigateur comme environnements je connais un code pour Java:

1) Env-js (voir http://groups.google.com/group/envjs et http://github.com/thatcher/env-js ) Je crois que celui-ci a des contributions de John Resig jQuery et a été mis en place avec des tests jQuery / soutien à l'esprit.

2) HTMLUnit (voir http://htmlunit.sourceforge.net/ ) Celui-ci est plus, et n'a pas été à l'origine conçu autour jQuery, mais il y a des rapports dans la nature de l'utiliser pour exécuter la suite de tests de jQuery avec succès ( http://daniel.gredler.net/2007/08/08/htmlunit-taming-jquery/ ).

Si vous voulez quelque chose de pur-IIS / MS, je pense que votre observation au sujet hôte windowsScript et / ou quelque chose comme la JScript.NET semi-abandonnée est probablement à peu près aussi proche que vous allez venir, avec un port ( que vous aurez probablement commencer) de quelque chose comme env- js ou HTMLUnit.

En outre, je ne sais pas si vous avez vu la liste Wikipédia des solutions JavaScript côté serveur:

http://en.wikipedia.org/wiki/Server-side_JavaScript

Enfin ... vous pourriez probablement écrire une bibliothèque comme jQuery utile dans toutes les langues qui a déjà une sorte de bibliothèque DOM et les fonctions de première classe (ou, à défaut d'une installation de eval). Voir, par exemple pQuery pour Perl ( http://metacpan.org/pod/pQuery ). Cela vous obtenir les avantages du style jQuery de manipuler des documents. Le transfert de compétences est grande et JavaScript a une merveilleuse confluence de caractéristiques très agréable, mais d'autre part, les développeurs ayant assez soucieux d'apprendre plusieurs langues est aussi grande, et js n'est pas la seule belle langue là-bas.

Je pense qu'il est principalement un script basé sur un navigateur donc probablement vous êtes mieux d'utiliser des technologies basées sur VB .NET ou pour effectuer ou générer du HTML à partir de modèles. Je suis sûr qu'il ya parce que dans le monde java il y a quelques d'entre eux autour (comme la vitesse). Vous souhaitez ensuite utiliser jQuery pour créer ou ajouter des fonctionnalités côté client et la facilité d'utilisation il rend le site plus utilisable que cela aurait été.

Que voulez-vous dire par

  

"client A utilise Java script avec   jQuery pour créer un site web complexe "

La moitié du point de jQuery est de le rendre facile pour le développeur de manipuler le DOM, et donc ajouter des améliorations interactives à un site Web. En exécutant le Javascript est désactivé sur le serveur et seulement le rendu HTML, vous perdrez la possibilité d'ajouter ces améliorations, sans faire un aller-retour au serveur (pensez WebForms Postback modèle ... ugh).

Maintenant, si ce que vous avez vraiment moyen est le client utilise un constructeur de site basé sur jQuery, pourquoi ne pas avoir cet appartement de sortie de l'outil HTML en premier lieu?

Jetez un oeil à cette technologie . Vous pouvez appeler des scripts pour exécuter au serveur, au client, ou les deux. De plus, ce moteur implémente vraiment le firefox sur le serveur. Jetez un coup d'oeil.

Jaxer de Aptana est le premier serveur Web AJAX jusqu'à présent. Je ne l'ai pas tryed encore, mais je le ferai. Semble prometteur et très puissant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top