Javascript 将样式和脚本标记添加到正文是否可以接受?
我正在创建一个重AJAX的web应用程序,我很好奇人们对在HTML文档主体中添加样式和脚本标记的想法 我一直在使用jquery.load()方法动态插入内容。可以加载到body元素中的部分HTML页面示例如下:Javascript 将样式和脚本标记添加到正文是否可以接受?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在创建一个重AJAX的web应用程序,我很好奇人们对在HTML文档主体中添加样式和脚本标记的想法 我一直在使用jquery.load()方法动态插入内容。可以加载到body元素中的部分HTML页面示例如下: <script type="text/javascript"> $(function() { // All required java script for the control goes here... }); </script>
<script type="text/javascript">
$(function() {
// All required java script for the control goes here...
});
</script>
<style type="text/css">
/* All required styles for the inserted HTML go here */
</style>
<div id="some-control">
<!-- Required HTML markup is here. -->
</div>
$(函数(){
//控件所需的所有java脚本都在这里。。。
});
/*插入的HTML所需的所有样式都转到此处*/
由于这个HTML被加载到一个DIV中,我们最终得到的脚本和样式标记不是在HTML文档的头部,而是在HTML文档的主体中。我不确定这是否是有效的HTML?这是开发支持AJAX的web应用程序的常用方法吗?有什么缺点我应该注意吗?就Javascript而言,您可以将它放在页面上的任何位置,前提是它将处理的元素在加载之前已加载,并且不会抛出错误
未定义的
元素。甚至谷歌(就搜索引擎优化而言)也建议将javascript放在页面末尾的
标记之前
如果您能设法将脚本放在标签前面,这被认为是一个很好的方法,否则,如果一切正常,你现在所做的应该是好的。我不同意萨夫拉兹的观点,并说你应该尽可能避免在你的页面正文中使用
和
标记。将JS移动到外部文件的好处是无穷的。最明显的例子包括:
标记的每个实例以进行更改。将所有代码集中放置并通用允许进行一次更改并完成.bind
和.live
。它们允许您将处理程序附加到DOMObject的现有和未来实例。例如:
$('.class').live('click', function(){
alert('I was clicked!');
});
这将应用于页面加载时存在的任何对象以及以后创建的对象。以下代码不会-它仅适用于加载时创建的对象:
$('.class').click(function(){
alert('I was clicked!');
});
当我看到大型网站内容管理系统通常会将一些元素(部分,而不是全部)放在与依赖于这些类的内容相近的位置时,我得出的结论是,这匹马已经出了谷仓 去看看cnn.com、nytimes.com、huffingtonpost.com、离你最近的大城市报纸等的页面来源,他们都是这样做的 如果有很好的理由在身体的某个地方放一个额外的部分——例如,如果你是include()实时集成各种独立的页面元素,每个元素都有自己的嵌入式元素,这样组织将更干净、更模块化、更易于理解和维护——我说只管咬紧牙关。当然,如果我们可以使用“本地”会更好使用受限范围的样式,如局部变量,但您可以使用您拥有的HTML,而不是您以后可能想要或希望拥有的HTML
当然,也有潜在的缺点和好处(如果不总是令人信服的话)正如其他人所阐述的那样,遵循正统的理由。但对我来说,它看起来越来越像是对in的深思熟虑的使用已经成为主流。
在身体中…当然。CSS在身体中…我会避免它,没有其他原因,只是它不属于那里。如果我有一个不是全局性的,并且只与HTML相关的CSS呢在文件中?我想我试图避免的是在标题中有大量的标记,而大多数时候CSS只被某些“控件”使用他不是说在html正文中编码脚本标记。他的脚本已经在一个单独的文件中。他说的是通过AJAX加载html+脚本。他的问题是,在正文中而不是在头部中合法吗?标准说是。我没有说它不是有效的XHTML或任何东西,我是说它是b广告要求他将脚本代码放在一个单独的文件中加载。他没有一个全局的.js文件,上面给出了他的例子…所有使用的全局函数/对象都在单独的.js文件中。但是,特定于某个HTML块的代码我们放在与HTML相同的文件中。例如,我们有一个包含js的员工表单验证并使用AJAX提交,该js代码与HTML一起插入,以便仅在需要时加载。您仍应在外部js文档中使用该代码。为表单提供一个ID,并编写一个绑定它的jQuery函数$('#ID')。validation()此外,我必须说,您还应该为验证准备好服务器逻辑,因为javascript验证很容易被绕过。。。