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

我可以在没有HTML的浏览器中从XML启动javascript吗?

  •  1
  • Rob  · 技术社区  · 15 年前

    我一直在web上修补XML,如果我添加HTML的脚本元素,就可以使用javascript,但我想知道是否可以启动javascript来编写DOM脚本,而不使用任何HTML?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Lawrence Mandel    15 年前

    在我看来,您似乎对在浏览器中使用JavaScript感兴趣,同时显示XML内容,而不将XML重新格式化为HTML?如果这是正确的,您可以将XML样式表声明添加到XML文件中,以声明XML文档的XSLT。此声明可以在任何其他上下文中保持未使用状态,但在客户端理解属性(即Web浏览器)的上下文中,XSLT将用于在显示XML之前转换XML(注意:某些plder Web浏览器不支持XSLT。)通过这种方式,您可以为Web浏览器客户端注入JavaScript。

    wikipedia 有关XSLT的概述。有许多在线课程可以帮助您开始使用XSLT。

        2
  •  0
  •   lucideer    14 年前

    首先,从技术上讲,您不是在添加HTML的脚本元素,而是在添加XHTML的脚本元素——您不能将HTML添加到XML文档中。XHTML是XML,所以它仍然是一个纯XML文档。

    理论上,您可以在任何xml文件中运行javascript,只要您有办法告诉浏览器“这是一个脚本-请运行它”。到目前为止,脚本标记是告诉浏览器执行此操作的唯一方法,并且脚本标记以两种不同的XML语言存在—XHTML和SVG。

    你可以做:

    
    <root xmlns="http://non.existe.ent/namespace">
      <script xmlns="http://www.w3.org/2000/svg"><![CDATA[
        alert('hello');
      ]]></script>
    </root>
    

    其中根本没有xhtml。