代码之家  ›  专栏  ›  技术社区  ›  Corey

HTML脚本标记中允许哪些语言类型?

  •  23
  • Corey  · 技术社区  · 16 年前

    我在看 W3C specs for the script tag 我注意到您可以将vbscript和tcl指定为一种语言类型。这对我来说是非常新的;我只见过与脚本标记一起使用的javascript。

    为什么其他语言不更常用,并且在这个标签中有完整的语言列表可以使用?

    3 回复  |  直到 10 年前
        1
  •  23
  •   Jörg W Mittag    16 年前

    你可以把你想要的东西放进去。那就是 整点 MIME类型的。

    当然,问题是您的用户浏览器是否能够真正解释它。但这并不是特别针对 <script> 元素。例如,我的浏览器只理解样式表的CSS,其他浏览器也理解XSLT。我的浏览器只对文档理解HTML、XHTML、HTML5、MathML和SVG,其他人也理解PDF或不理解MathML。我的浏览器理解阿尔法透明PNG,其他浏览器不理解。在GIF专利耗尽之前,有一些浏览器不理解GIF,而其他浏览器支付许可费(或非法使用专利,或在软件专利非法的司法管辖区开发),并且确实理解GIF。一些浏览器可以理解H.264视频,其他浏览器可以理解Theora。

    一般来说,所有浏览器都能理解的唯一语言是ecmascript第三版。大多数浏览器也理解一些JavaScript的子集。

    许多版本的Internet Explorer都了解vbscript。

    coffeescript编译器可以编译为ecmascript并嵌入到网站中,这样您就可以通过 text/coffeescript MIME类型。

    有一个叫做hotruby的项目,它是一个用ecmascript编写的yarv字节码解释器。它允许你使用 text/ruby .

    微软有一个名为Gestal的项目,它使用IronRuby和Ironpython在Silverlight内部的DLR之上运行,以提供对 text/python 和 文本/红宝石 (大概) 任何 可以在DLR之上运行的语言,例如Scheme、Smalltalk、PHP、TCL。)

    我相信,Mozilla有一个叫做Ironmonkey的项目,它将多个流行的执行引擎,比如mri-ruby、cpython、perl等嵌入到Firefox中,允许使用所有这些语言来编写浏览器脚本。

    我记得在某个地方读到有人构建了一个支持TCC(Tiny C编译器)的插件,它允许您使用 text/c .

    就在几天前,Miguel de Icaza(Mono的创建者)建议将iso cli作为脚本平台添加到浏览器中,允许您使用cil字节码通过 application/cil MIME类型。

        2
  •  3
  •   Sarfraz    16 年前

    为什么其他语言就不多了? 常用,有没有完整的 可在其中使用的语言列表 这个标签?

    因为所有浏览器都支持javascript,而vbs只支持IE。

    注: 这个 language 属性现在已弃用,请使用 type 仅属性,例如:

    <script type="text/javascript">
    ...
    </script>
    
        3
  •  1
  •   Pekka    16 年前

    我想,您可以指定浏览器可以解释的任何语言。不过,目前, text/javascript 是浏览器中唯一支持的。

    vbscript在某些情况下在IE中可用,因此(显然)仅限于Windows和该浏览器。如果你想建立一个跨浏览器和平台运行的网站,这不是一个真正的选择。我想你也可以用 Windows Script Host 在IE中的脚本,但我不熟悉细节。

    您在哪里看到了TCL的实现?那会很有趣的。

    为了完整起见,PHP理解 <script language="php"> 用于指定PHP块开头的标记( reference )这并不算在你的列表中,因为它是在服务器端捕获和解释的, 和 它只支持已弃用的 language= 语法,但仍然如此。