سؤال

لدي الحالة التالية. يستخدم العميل JavaScript مع jQuery لإنشاء موقع ويب معقد. نود استخدام JavaScript و jQuery على الخادم (IIS) للأسباب التالية:

  1. نقل المهارات - نود استخدام JavaScript و jQuery على الخادم وليس من الضروري استخدام Script على سبيل المثال. / ASP الكلاسيكية. .NET Framework/Java وما إلى ذلك يتم استبعاده بسبب هذا.

  2. خيارات محسنة للبحث/إمكانية الوصول. نود أن نكون قادرين على استخدام jQuery كنظام templating ، ولكن هذا ليس قابلاً للتطبيق لمحركات البحث والمستخدمين الذين يتم إيقاف تشغيل JS - ما لم نتمكن من تشغيل هذا الرمز بشكل انتقائي على الخادم.

هناك استثمار كبير في IIS و Windows Server ، لذا فإن التغيير ليس خيارًا.

أعلم أنه يمكنك تشغيل JScript على IIS باستخدام مضيف Windows Script ، لكنني غير متأكد من قابلية التوسع والعملية المحيطة بذلك. أنا أيضًا غير متأكد مما إذا كان هذا سيكون لديه حق الوصول إلى DOM.

هنا مخطط يشرح الموقف. كنت أتساءل عما إذا كان أي شخص قد فعل أي شيء مماثل؟

تحرير: أنا لا أبحث عن ناقد في بنية الويب ، أنا ببساطة أرغب في معرفة ما إذا كانت هناك أي خيارات لمعالجة DOM في الصفحة قبل إرسالها إلى العميل ، باستخدام JavaScript. جاكسر هو أحد هذه المنتجات (لا IIS) شكرا.

هل كانت مفيدة؟

المحلول

القي نظرة على جلب المتصفح إلى الخادم, وحيد القرن, ، و استخدم IIS من Microsoft كمحرك Servlet Java.

الرابط الأول هو من مدونة John Resig's (JQuery's Creator).

تحديث 2 أغسطس 2011

Node.js قادم إلى Windows.

نصائح أخرى

قد تبدو فكرة إعادة استخدام العميل JS على الخادم مغريًا ، لكنني لست متأكدًا من أن jQuery نفسها ستكون جاهزة للتشغيل في بيئة الخادم.

ستحتاج إلى تحديد السياق العالمي لـ jQuery بطريقة أو بأخرى من خلال التهيئة window, document, self, location, etc.. لست متأكدًا من أنه قابل للتنفيذ.

إلى جانب ذلك ، كما ذكرت Cheeso ، فإن صفحات الخادم النشط هي تقنية عفا عليها الزمن للغاية ، وتم استبدالها بـ ASP.NET بواسطة Microsoft في بداية القرن. اعتدت الحفاظ على نظام قديم باستخدام ASP 3.0 لأكثر من عام وكان ذلك الألم. كان أروع هواية التصحيح: لن تجد أي شيء لهذا الغرض اليوم وسوف تضطر إلى نشر أخطاء جميلة كما في سجل IIS:

خطأ '800A9C68'
خطأ محدد أو محدد الكائن

ومع ذلك ، يمكنني التأكد من أنني تمكنت من إعادة استخدام العميل والخادم JScript. ولكن هذا رمز كتبه لي الذي عرف أنه سيتم استخدامه على الخادم.

ملاحظة: لا أوصي بالتحرك بهذه الطريقة. هناك الكثير من أطر العمل المألوفة لأولئك الذين يكتبون HTML و JavaScript.

يعمل JScript على IIS عبر شيء يسمى ASP.
صفحات الملقم النشطة.
كان متاحًا لأول مرة في عام 1996.

في النهاية تم تقديم ASP.NET كخليفة. لكن ASP لا يزال مدعومًا.

لا يوجد DOM لصفحة HTML ، على الرغم من.

قد تحتاج إلى إعادة النظر في الهندسة المعمارية الخاصة بك قليلا.

أعتقد أن الحلول الوحيدة القابلة للحياة التي من المحتمل أن تجدها في أي مكان قريب للذهاب تنطوي على وضع IIS أمام Java. هناك بيئتان تشبهان المتصفح الذي أدركه بواسطة Java:

1) ENV-JS (انظر http://groups.google.com/group/envjs و http://github.com/thatcher/env-js ) أعتقد أن هذا واحد لديه مساهمات من John Resig من JQuery وتم تجميعها مع اختبار/دعم jQuery في الاعتبار.

2) htmlunit (انظر http://htmlunit.sourceforge.net/ ) هذا الشخص الأكبر سناً ، ولم يكن تصور في الأصل حول jQuery ، ولكن هناك تقارير في Wild لاستخدامها لتشغيل جناح اختبار JQuery بنجاح (http://daniel.gredler.net/2007/08/08/htmlunit-taming-jquery/ ).

إذا كنت تريد شيئًا نقيًا/MS ، أعتقد أن ملاحظتك حول مضيف Windowsscript و/أو شيء مثل JScript.net شبه المثير للتهوية ، ربما تكون على وشك أن تأتي ، إلى جانب منفذ (وهو ما أنت " ربما يجب أن تبدأ) من شيء مثل ENV-JS أو HTMLUnit.

أيضًا ، لا أعرف ما إذا كنت قد شاهدت قائمة Wikipedia لحلول JavaScript من جانب الخادم:

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

أخيرًا ... ربما يمكنك كتابة مكتبة تشبه jQuery قابلة للخدمة بأي لغة لديها بالفعل نوع من مكتبة DOM ووظائف من الدرجة الأولى (أو فشل ذلك eval منشأة). انظر ، على سبيل المثال pquery لـ Perl (http://metacpan.org/pod/pquery ). هذا من شأنه أن يحصل على فوائد أسلوب jQuery في معالجة المستندات. نقل المهارات رائع ، ويمتلك JavaScript التقاء رائع لميزات لطيفة للغاية ، ولكن من ناحية أخرى ، فإن وجود مطورين يهتمون بما يكفي لتعلم لغات متعددة أمر رائع أيضًا ، و JS ليست هي اللغة الوحيدة اللطيفة هناك.

أعتقد أنه البرنامج النصي القائم على المتصفح بشكل أساسي ، لذا ربما تكون أفضل من استخدام التقنيات على أساس VB أو .NET لأداء أو إنشاء HTML من القوالب. أنا متأكد من أن هناك لأنه في عالم Java هناك عدد قليل من هذه حول (مثل السرعة). يمكنك بعد ذلك استخدام jQuery لإنشاء أو إضافة وظائف جانب العميل وسهولة الاستخدام بحيث يجعل موقع الويب أكثر قابلية للاستخدام مما كان عليه الحال.

ماذا تقصد بالضبط

"يستخدم العميل JavaScript مع jQuery لإنشاء موقع ويب معقد"

نصف نقطة jQuery هي تسهيل على المطور معالجة DOM ، وبالتالي إضافة تحسينات تفاعلية إلى موقع ويب. من خلال تشغيل javaScript على الخادم وتقديم HTML فقط ، ستفقد القدرة على إضافة هذه التحسينات ، دون القيام برحلة ذهابًا وإيابًا إلى الخادم (فكر في نموذج Postborms ... UGH).

الآن إذا كان ما تعنيه حقًا هو أن العميل يستخدم منشئ الموقع استنادًا إلى jQuery ، فلماذا لا يكون لديك أداة HTML المسطحة في المقام الأول؟

تفقد هذا تكنولوجيا. يمكنك استدعاء البرامج النصية لتشغيلها على الخادم أو في العميل أو كليهما. بالإضافة إلى ذلك ، هذا يطرح حقًا محرك Firefox على الخادم. نلقي نظرة على ذلك.

Aptana's Jaxer هو أول خادم الويب Ajax حتى الآن. لم أجربها بعد ، لكنني سأفعل ذلك. تبدو واعدة وقوية للغاية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top