Frage

ich die folgende Situation. Ein Kunde verwendet JavaScript mit jQuery eine komplexe Website zu erstellen. Wir möchten, dass JavaScript und jQuery auf dem Server (IIS) aus den folgenden Gründen verwenden:

  1. Fähigkeiten Transfer - wir möchten Sie JavaScript und jQuery auf dem Server verwenden und müssen nicht zB VB Script verwenden. / Classic asp. NET Framework / Java usw. ist, weil dieser ausgeschlossen.

  2. Verbesserte Optionen für die Suche / Erreichbarkeit. Wir möchten, dass jQuery als Template-System in der Lage sein zu verwenden, aber dies ist nicht praktikabel für Suchmaschinen und Nutzer mit js deaktiviert -. Es sei denn, wir selektiv diesen Code auf dem Server ausgeführt werden können

Es gibt bedeutende Investition in IIS und Windows Server, so dass eine Änderung nicht möglich ist.

Ich weiß, Sie JScript auf IIS mit dem Windows Script Host ausgeführt werden kann, aber ich bin nicht sicher, der Skalierbarkeit und der Prozess diese umgibt. Ich bin auch nicht sicher, ob dieser Zugriff auf das DOM haben würde.

Hier ist ein Diagramm, das hoffentlich die Situation erklärt. Ich habe mich gefragt, ob jemand etwas getan ähnlich?

EDIT: Ich bin nicht für Kritiker auf Web-Architektur suchen, ich bin zu wollen einfach nur wissen, ob es irgendwelche Optionen sind für die Manipulation des DOM einer Seite, bevor sie an den Client gesendet wird, mit Hilfe von Javascript. Jaxer ist ein solches Produkt (keine IIS) Vielen Dank.

War es hilfreich?

Lösung

Hier finden Sie aktuelle den Browser an den Server zu bringen Rhino und Verwenden von Microsoft IIS als Java-Servlet-Engine .

Der erste Link ist von John Resig (jQuery Konzept) Blog.

Update 2. August 2011

Andere Tipps

Die Idee zur Wiederverwendung Client JS auf dem Server klingt verlockend, aber ich bin nicht sicher, dass jQuery selbst bereit sein würde, in Server-Umgebung ausgeführt werden.

Sie müssen irgendwie für jQuery globalen Kontext definieren, indem window, document, self, location, etc. initialisiert. Ich bin nicht sicher, ob es machbar ist.

Außerdem, wie Cheeso erwähnt wird, ist Active Server Pages eine sehr veraltete Technologie, wurde mit ASP.Net von Microsoft am Anfang des Jahrhunderts ersetzt. Früher habe ich ein Legacy-System pflegte mit ASP 3.0 für mehr als ein Jahr und das war Schmerz. Der schönste Zeitvertreib wurde debuggen: Sie heute kaum noch etwas zu dem Zweck finden und schöne Fehler wie in IIS-Protokoll decript müssen:

Fehler '800a9c68'
Anwendung definiert oder Objekt definierte Fehler

Trotzdem kann ich bestätigen, dass ich Wiederverwendung Client und Server JScript verwaltet. Das war aber Code von mir geschrieben, der wußte, dass es werde auf dem Server verwendet werden.

P. S. Ich würde nicht empfehlen, dass die Art und Weise zu bewegen. Es gibt viele Templat-Frameworks, die mit denen vertraut sind, die HTML und JavaScript schreiben.

läuft JScript auf IIS über etwas namens ASP.
Active Server Pages.
Es wurde zum ersten Mal in 1996.

Schließlich ASP.NET wurde als Nachfolger eingeführt. Aber ASP wird weiterhin unterstützt.

Es gibt keinen DOM für die HTML-Seite, though.

Möglicherweise müssen Sie die Architektur ein wenig zu überdenken.

Ich denke, die einzige praktikable Lösungen, die Sie wahrscheinlich irgendwo in der Nähe bereit zu finden IIS zu gehen beinhalten setzen vor Java. Es gibt zwei Browser-ähnliche Umgebungen I für Java codiert bewusst sind:

1) Env-js (siehe http://groups.google.com/group/envjs und http://github.com/thatcher/env-js ) Ich glaube, das ein Beitrag von jQuery John Resig hat und wurde mit jQuery Test / Unterstützung im Auge zusammen.

2) Htmlunit (siehe http://htmlunit.sourceforge.net/ ) Dieser ist älter, und war ursprünglich nicht um jQuery konzipiert, aber es gibt Berichte in der Wildnis des Verwendens es jQuery-Test-Suite erfolgreich ( http://daniel.gredler.net/2007/08/08/htmlunit-taming-jquery/ ).

Wenn Sie etwas rein IIS / MS wollen, glaube ich Ihre Bemerkung über windowsScript Host und / oder so etwas wie das halb verlassenen JScript.NET ist wahrscheinlich ungefähr so ??nah wie du kommen wirst, zusammen mit einem Port ( die Sie wahrscheinlich) von so etwas wie Env-js oder Htmlunit anfangen.

Auch ich weiß nicht, ob Sie die Wikipedia Liste der serverseitigen JavaScript-Lösungen gesehen haben:

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

Schließlich ... Sie könnten wahrscheinlich eine brauchbaren jQuery-Bibliothek wie in jeder Sprache schreiben, dass bereits eine Art von DOM Bibliothek und First-Class-Funktionen (oder andernfalls, dass eine eval Anlage). Siehe zum Beispiel pQuery für Perl ( http://metacpan.org/pod/pQuery ). Dies würde Ihnen die Vorteile der jQuery Stil der Manipulation von Dokumenten erhalten. Geschicklichkeits Transfer ist groß und JavaScript hat eine wunderbare Zusammenfluss von sehr netten Features, aber auf der anderen Seite, die Entwickler hat, der wichtig genug ist, mehrere Sprachen zu lernen, auch große und js ist nicht die einzige schöne Sprache gibt.

Ich denke, es ist in erster Linie ein Browser-basiertes Skript so wahrscheinlich sind Sie besser von Technologien auf Basis von VB oder .NET ausführen oder generieren HTML aus Vorlagen. Ich bin sicher, dass es da in der Java-Welt gibt es ein paar von diesen um (wie Geschwindigkeit) sind. Sie würden dann jQuery verwenden, um Client-Seite Funktionalität und Benutzerfreundlichkeit zu erstellen oder hinzuzufügen, so dass die Webseite besser nutzbar macht, als es gewesen wäre.

Was genau meinen Sie mit

"Ein Kunde verwendet JavaScript mit jQuery eine komplexe Website erstellen "

Die Hälfte der Punkt von jQuery ist es für die Entwickler einfach machen das DOM zu manipulieren und damit interaktive Erweiterungen zu einer Website hinzuzufügen. das Javascript auf dem Server ausgeführt wird und nur HTML-Rendering Sie verlieren die Fähigkeit, diese Erweiterungen hinzufügen, ohne eine Rundfahrt auf dem Server zu tun (man denke WebForms Modell Postback ... igitt).

Nun, wenn, was Sie wirklich meinen, ist der Kunde eine Site Builder verwendet basiert auf jQuery, warum nicht, dass die Werkzeugausgabe flach HTML haben in erster Linie?

Werfen Sie einen Blick auf diese Technologie . Sie können Skripts aufrufen auf dem Server, auf Client oder beide laufen. Darüber hinaus implementiert das wirklich den Firefox-Engine auf dem Server. Werfen Sie einen Blick auf sie.

Aptana des Jaxer ist der erste AJAX Web-Server so weit. Ich habe es noch nicht tryed, aber ich werde. Sieht vielversprechend und sehr mächtig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top