有人可以回答我为什么会出现这个问题?
使用以下代码,我的网站仅适用于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}}“有效吗?
答案 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)
关闭标签我认为最好在代码中查看,我认为这是一个很好的做法。如果你按照这个提示将不再有这样的问题。