外部JS文件无法在XHTML中工作

时间:2014-05-22 22:39:29

标签: javascript jquery xhtml

我有一个名为Reservation.xhtml的文件,在其中,我有一个脚本标签,其中调用外部js文件.Reservation.xhtml包含我从网站下载的表单以及我保存的javascript进入“validate.js”

<script src="validate.js" type="text/javascript"></script>

当使用Reservation.xhtml时,validate.js中的函数没有被调用,但当我将Reservation.xhtml的扩展名更改为Reservation.html时。表单工作正常..所以任何人都可以告诉我为什么验证.js在Reservation.html中工作,而不在Reservation.xhtml中。请建议我如何使它在Reservation.xhtml中工作

1 个答案:

答案 0 :(得分:1)

根据my tests,您正在做的事情没有任何问题。

我创建了这样的文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/ xhtml1/DTD/xhtml1-strict.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Strict document</title>
    </head>
    <body>
      <p>This is a strict XHTML document.</p> 
      <div id="validate" style="color:red"><tt>validate.js</tt> has not been called!</div>
      <script src="validate.js" type="text/javascript"></script>
    </body>
  </html>

链接脚本会改变div的innerHTML和样式 - 它可以在Firefox中使用。

现在,虽然文件扩展名和doctype似乎无关紧要,但有些事情可以做到 具体来说,tagNameHTMLElement属性,在HTML和XHTML中有所不同:

  

在XHTML(或任何其他XML格式)中,&#34; span&#34;会被警告。在HTML中,&#34; SPAN&#34;会被警告。 - MDN

这可能会导致您的脚本无法执行某些操作。