我想知道我是否可以将js和css文件嵌入到html文档范围之上:
<script type="text/javascript" src="../../media/js/jquery.js"></script>
<script type="text/javascript" src="../../media/js/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" media="all" href="../../media/css/cupertino/jquery-ui.css" />
<html>
<head>
</head>
<body>
<body>
</html>
这是因为我想将它们放在相同的php文件中,其中包含所有文件(php,js和css)。我试过这个似乎工作。 html文件的输出将像上面的代码一样显示,并在html标记上方包含行。
这有什么隐藏的缺点吗?
答案 0 :(得分:10)
即使它有效,也不应该这样做。这种类型的东西是草率的,因此不能保证明天或未来的浏览器。如果你现在感觉不到这种方法的痛苦,你最终会。无论如何你都没有理由这样做。
答案 1 :(得分:6)
这不是有效的HTML。放置javascript的最佳位置是在正文关闭之前(除非有需要加载这些脚本的内联脚本)。这可以防止在页面加载时阻塞。
答案 2 :(得分:5)
无效(X)HTML。
答案 3 :(得分:2)
这适用于大多数浏览器,但这并不是说它不是错误。这是错误。
它不是有效的HTML,并且会让每个遇到代码的人感到困惑,虽然我不知道哪些浏览器可能无法克服这种风格的固有错误,但我做了没有承诺它会起作用。从某种意义上说,它应该,但在另一种情况下,它绝对不应该。
答案 4 :(得分:1)
也许输出缓冲在这种情况下会起作用?缓冲“includes”文件的输出,然后在<html>
声明之后获取缓冲区的内容以便稍后输出。大致像这样:
在您的includes.php文件中:
<?php
ob_start();
// here is where you output your css and js declarations
$includes = ob_get_clean();
?>
这是您的主页:
<html>
<head>
<title>Hello</title>
<?php echo $includes ?>
</head>
<body>
...
答案 5 :(得分:0)
我知道现在已经很老了,但我想补充一点,谷歌建议在某些情况下这样做。
看看这个:https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery#example
有关谷歌为何提倡不正当的HTML编码的想法?