在HTML问题中添加脚本JS

时间:2009-10-17 13:33:48

标签: javascript html

有人可以回答我为什么会出现这个问题?

使用以下代码,我的网站仅适用于Chrome,在IE7 / 8和Firefox上只显示背景:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Site Title</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js" />
<script type="text/javascript" src="js/functions.js" />
</head>
...

此代码适用于Chrome,IE7 / 8和Firefox:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br" xml:lang="pt-br">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CSite Title</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/functions.js"></script>
</head>
...

查看在Firebug中不起作用的代码我发现文件'functions.js'没有被调用,我不明白,为什么不能使用“<script />”和“{ {1}}“有效吗?

4 个答案:

答案 0 :(得分:12)

来自此故障单(Why don't self-closing script tags work?

(请注意,在引用的故障单中,接受的答案实际上并不正确)

  

请注意,IE不支持XHTML   解析。即使您使用XML   声明和/或XHTML文档类型,   IE仍然可以解析文档   HTML。而在纯HTML中,   不支持自动关闭语法。   尾部斜杠被忽略,   你必须使用明确的结束   标签

     

即使是支持XHTML的浏览器也是如此   解析仍将解析文档   作为HTML,除非您提供文档   使用xml mime类型。但在那种情况下   IE将不会显示该文档   所有!

答案 1 :(得分:4)

因为<script>标记必须在HTML4中有结束标记

另一个信息来源:XHTML - Is writing self closing tags for elements not traditionally empty bad practise?

答案 2 :(得分:2)

HTML specification要求您拥有脚本元素的结束标记。前者不是有效的HTML,而后者是。

答案 3 :(得分:1)

关闭标签我认为最好在代码中查看,我认为这是一个很好的做法。如果你按照这个提示将不再有这样的问题。