7

次のような状況があります。顧客は JavaScript と jQuery を使用して複雑な Web サイトを作成しています。次の理由により、サーバー (IIS) で JavaScript と jQuery を使用したいと考えています。

  1. スキルの移転 - サーバーで JavaScript と jQuery を使用したいが、VB スクリプトなどを使用する必要はありません。/クラシックASP。このため、.Net フレームワーク/Java などは除外されます。

  2. 検索/アクセシビリティの改善されたオプション。jQuery をテンプレート システムとして使用できるようにしたいと考えていますが、サーバー上でこのコードを選択的に実行できない限り、検索エンジンや js をオフにしているユーザーには実行できません。

IIS と Windows Server には多額の投資が行われているため、これを変更することはできません。

Windows スクリプト ホストを使用して IIS で jScript を実行できることは知っていますが、スケーラビリティとこれに関するプロセスについては不明です。これがDOMにアクセスできるかどうかもわかりません。

これは、うまくいけば状況を説明する図です。誰かが似たようなことをしたかどうか疑問に思っていましたか?

編集: Web アーキテクチャの批評家を探しているわけではありません。JavaScript を使用してクライアントに送信する前に、ページの DOM を操作するオプションがあるかどうかを知りたいだけです。Jaxerはそのような製品の 1 つです (IIS はありません) ありがとうございます。

4

7 に答える 7

6

ブラウザをサーバーRhinoに移動し、MicrosoftのIISをJavaサーブレットエンジンとして使用する方法をご覧ください。

最初のリンクは、John Resig(jQueryの作成者)のブログからのものです。

2011年8月2日更新

Node.jsがWindowsに登場します。

于 2010-05-03T18:04:32.927 に答える
2

サーバー上でクライアント JS を再利用するという考えは魅力的に聞こえるかもしれませんが、jQuery 自体がサーバー環境で実行できるようになるかどうかはわかりません。

を初期化して、何らかの方法で jQuery のグローバル コンテキストを定義する必要がありますwindow, document, self, location, etc.。それが実行可能かどうかはわかりません。

さらに、Cheeso が述べたように、Active Server Pages は非常に時代遅れのテクノロジであり、20 世紀初頭に Microsoft によって ASP.Net に置き換えられました。ASP 3.0 を使用してレガシー システムを 1 年以上保守していましたが、それは苦痛でした。最も素晴らしい娯楽はデバッグでした。今日、目的にかなうものはほとんど見つからず、IIS ログのような美しいエラーを解読する必要があります。

エラー '800a9c68'
アプリケーション定義またはオブジェクト定義のエラー

それでも、クライアントとサーバーの JScript を再利用できたことは確認できました。しかし、これはサーバーで使用されることを知っていた私が書いたコードです。

PSそのように移動することはお勧めしません。HTML や JavaScript を書く人にはなじみ深いテンプレート フレームワークがたくさんあります。

于 2010-04-27T12:03:29.350 に答える
1

JScript は、ASP と呼ばれるものを介して IIS 上で実行されます。
アクティブ サーバー ページ。
1996年に初めて利用可能になりました。

最終的に ASP.NET が後継として導入されました。ただし、ASP は引き続きサポートされます。

ただし、HTML ページ用の DOM はありません。

アーキテクチャを少し再検討する必要があるかもしれません。

于 2010-04-27T08:43:20.687 に答える
1

IIS を Java の前に配置することが、実行可能な唯一の解決策であると思います。私が認識している、Java 用にコード化されたブラウザーに似た環境が 2 つあります。

1) Env-js ( http://groups.google.com/group/envjshttp://github.com/thatcher/env-jsを参照) jQuery のテスト/サポートを念頭に置いています。

2) HTMLUnit ( http://htmlunit.sourceforge.net/を参照) これは古いものであり、もともと jQuery を中心に考えられたものではありませんでしたが、jQuery のテスト スイートを正常に実行するためにそれを使用したという報告があります ( http:// daniel.gredler.net/2007/08/08/htmlunit-taming-jquery/ )。

純粋なIIS/MSが必要な場合は、windowsScriptホストおよび/または半放棄されたJScript.NETのようなものについてのあなたの観察は、ポート(あなたがおそらく、Env-js や HTMLUnit などを開始する必要があります。

また、サーバーサイド JavaScript ソリューションのウィキペディアのリストを見たことがあるかどうかもわかりません。

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

最後に...おそらく、ある種のDOMライブラリとファーストクラスの関数をすでに持っている(または機能に失敗した)任意の言語で、サービス可能なjQueryのようなライブラリを作成できますeval。たとえば、Perl の pQuery ( http://metacpan.org/pod/pQuery ) を参照してください。これにより、ドキュメントを操作する jQuery スタイルの利点が得られます。スキルの伝達は素晴らしく、JavaScript は非常に優れた機能のすばらしい合流点を持っていますが、一方で、複数の言語を学ぶことに十分気を配っている開発者がいることも優れており、優れた言語は js だけではありません。

于 2010-05-03T18:38:02.117 に答える
0

正確にはどういう意味ですか

「顧客は JavaScript と jQuery を使用して複雑な Web サイトを作成しています」

jQuery の目的の半分は、開発者が DOM を簡単に操作できるようにすることです。これにより、Web サイトにインタラクティブな拡張機能を追加できます。サーバー上で Javascript を実行し、HTML のみをレンダリングすると、サーバーへの往復を行わずにこれらの拡張機能を追加できなくなります (WebForms ポストバック モデルを考えてみてください...うーん)。

顧客が jQuery ベースのサイト ビルダーを使用しているのであれば、そもそもそのツールでフラットな HTML を出力しないのはなぜでしょうか?

于 2010-04-27T09:09:36.233 に答える
0

これは主にブラウザ ベースのスクリプトだと思うので、テンプレートから HTML を実行または生成するには、VB または .NET に基づくテクノロジを使用する方がよいでしょう。Javaの世界では、これらのいくつかが(速度のように)あるため、あると確信しています。次に、jQuery を使用してクライアント側の機能と使いやすさを作成または追加し、Web サイトを以前よりも使いやすくします。

于 2010-04-27T08:34:44.047 に答える
0

この技術をご覧ください。スクリプトを呼び出して、サーバー、クライアント、またはその両方で実行できます。さらに、これは実際にサーバーに Firefox エンジンを実装します。それを見てください。

Aptana の Jaxer は、これまでのところ最初の AJAX Web サーバーです。まだ試していませんが、試してみます。有望で非常に強力に見えます。

于 2011-04-07T09:14:43.200 に答える