在IIS服务器上执行javascript

在IIS服务器上执行javascript,javascript,iis,jaxer,Javascript,Iis,Jaxer,我有以下情况。客户使用JavaScript和jQuery创建复杂的网站。出于以下原因,我们希望在服务器(IIS)上使用JavaScript和jQuery: 技能转移-我们希望在服务器上使用JavaScript和jQuery,而不必使用eg VB脚本经典的asp。Net框架/Java等被排除在外,因为这一点 改进了搜索/辅助功能选项。我们希望能够使用jQuery作为模板系统,但这对于关闭js的搜索引擎和用户来说是不可行的,除非我们可以有选择地在服务器上运行此代码 在IIS和Windows Serv

我有以下情况。客户使用JavaScript和jQuery创建复杂的网站。出于以下原因,我们希望在服务器(IIS)上使用JavaScript和jQuery:

  • 技能转移-我们希望在服务器上使用JavaScript和jQuery,而不必使用eg VB脚本经典的asp。Net框架/Java等被排除在外,因为这一点

  • 改进了搜索/辅助功能选项。我们希望能够使用jQuery作为模板系统,但这对于关闭js的搜索引擎和用户来说是不可行的,除非我们可以有选择地在服务器上运行此代码

  • 在IIS和Windows Server上有大量投资,因此改变这一点不是一个选项

    我知道您可以使用windows脚本主机在IIS上运行jScript,但我不确定它的可扩展性和相关流程。我也不确定这是否可以访问DOM

    这是一张有希望解释这种情况的图表。我想知道是否有人做过类似的事情

    编辑:我不是在寻找对web架构的批评,我只是想知道,在使用javascript将页面发送到客户端之前,是否有任何操作页面DOM的选项。是这样一个产品(没有IIS)谢谢


    我认为它主要是一个基于浏览器的脚本,因此您最好使用基于VB或.NET的技术来执行或从模板生成HTML。我确信会有,因为在java世界中,有一些类似的东西(比如velocity)。然后,您可以使用jQuery创建或添加客户端功能和可用性,从而使网站比以前更可用

    JScript通过称为ASP的东西在IIS上运行。
    活动服务器页面。
    1996年首次推出

    最终,ASP.NET作为一个继承者被引入。但ASP仍然受支持

    不过,HTML页面没有DOM


    您可能需要重新考虑一下您的体系结构

    你到底是什么意思

    “客户将JavaScript与 jQuery创建复杂网站“

    jQuery的一半目的是使开发人员能够轻松地操作DOM,从而为web站点添加交互式增强功能。通过在服务器上运行Javascript并仅呈现HTML,您将失去添加这些增强功能的能力,而无需往返服务器(想想WebForms回发模型……啊)


    现在,如果您真正的意思是客户使用基于jQuery的站点生成器,那么为什么不让该工具首先输出平面HTML呢?

    在服务器上重用客户端JS的想法听起来很诱人,但我不确定jQuery本身是否准备好在服务器环境中运行

    您需要通过初始化
    窗口、文档、self、位置等来定义jQuery的全局上下文。我不确定这是否可行

    此外,正如Cheeso所提到的,Active Server Pages是一种非常过时的技术,它在本世纪初被微软的ASP.Net所取代。我曾经使用ASP 3.0维护一个遗留系统超过一年,这让我很痛苦。最美妙的消遣是调试:您今天几乎找不到任何用于此目的的东西,并且必须记录一些漂亮的错误,如IIS日志中的错误:

    错误“800a9c68”
    应用程序定义或对象定义错误

    不过,我可以确认我成功地重用了客户端和服务器JScript。但这是我写的代码,我知道它将在服务器上使用

    另外,我不建议这样做。有很多编写HTML和JavaScript的人都熟悉的模板框架。

    看看,然后

    第一个链接来自John Resig(jQuery的创建者)的博客

    2011年8月2日更新


    我认为,您可能在任何地方都能找到的唯一可行的解决方案是将IIS置于Java之前。我知道有两种类似浏览器的环境是为Java编写的:

    1) 环境js(见和) 我相信这篇文章来自jQuery的John Resig,是与jQuery测试/支持结合在一起的

    2) HTMLUnit(请参阅)这一版本比较老,最初并不是围绕jQuery构思的,但是有报告称使用它成功运行jQuery的测试套件()

    如果您想要纯IIS/MS,我认为您对windowsScript主机和/或类似于半废弃的JScript.NET之类的东西的观察可能与您将要看到的一样接近,还有一个类似Env js或HTMLUnit的端口(您可能必须启动)

    另外,我不知道您是否看过Wikipedia服务器端JavaScript解决方案列表:

    最后。。。您可能可以用任何已经有某种DOM库和一流函数的语言编写一个可服务的类似jQuery的库(或者,如果没有,则使用
    eval
    工具)。例如,请参见pqueryforperl()。这将使您受益于jQuery风格的文档操作。技能转移是很好的,JavaScript有许多非常好的特性,但另一方面,有足够关心学习多种语言的开发人员也是很好的,js并不是唯一的好语言

    看看这个。您可以调用脚本在服务器、客户端或两者上运行。另外,这确实在服务器上实现了firefox引擎。看一看


    Aptana的Jaxer是迄今为止第一个AJAX web服务器。我还没有试过,但我会的。看起来很有希望,功能也很强大。

    相关问题:@Residuum-谢谢-我确实看到了这个问题,但它并没有真正回答JScript如何在标记发送到浏览器之前操作DOM。按照我的理解,JScript只能用于在这种情况下生成标记