在其中调用插件是一种好习惯

时间:2013-04-17 16:00:08

标签: javascript jquery jquery-plugins

我很好奇,通常这是我在页面上调用插件的方式:

<script type="text/javascript" src="plugin.js"></script>
<script>
//apply plugin to elements / call plugin
</script>

但它不会更有意义,也许保存一些代码行来调用这样的插件吗?

<script type="text/javascript" src="plugin.js">
  //apply plugin / call plugin
</script>

老实说,我不认为我以前见过这个,我很好奇为什么?我是jQuery和JavaScript的新手,所以不要判断;)

3 个答案:

答案 0 :(得分:4)

<script type="text/javascript"></script>什么也没做。它是一个空的脚本元素。

根据您的问题标题,我认为您的意思是:

<script src="plugin.js"></script>
<script>
// Use functions defined in plugin.js
</script>

与之相比:

<script src="plugin.js">
// Use functions defined in plugin.js
</script>

如果是这样的话:后者将不起作用。脚本元素加载一个脚本,该脚本可以来自元素中的文本节点。

规范描述了the content of a script element as

  

如果没有src属性,则取决于type属性的值,但必须匹配脚本内容限制。   如果存在src属性,则该元素必须为空或仅包含与脚本内容限制匹配的脚本文档。

答案 1 :(得分:3)

假设你的标题是你在问我们为什么不在相同的标签中包含脚本,我们使用src属性。

https://developer.mozilla.org/en-US/docs/HTML/Element/script

  

的src

     

此属性指定外部脚本的URI;这可以用作直接在文档中嵌入脚本的替代方法。指定了src属性的脚本元素不应在其标记中嵌入脚本。

这是因为当您使用src属性时,浏览器可能会忽略包含的脚本。

答案 2 :(得分:3)

什么是好的做法取决于很多事情。

如果你想要表现,最绝对的方法就是让你的所有脚本都在线,并且只有你需要的脚本。

如果您正在查看多个请求(即浏览您网站的用户),则使用包含可以利用缓存。

另一个极端是您正在构建一个大型JavaScript应用程序。在这里,您可能希望一次加载所有JavaScript,或者使用一些lazy-loader来加载您可能不需要的模块。

所有方案都没有一个解决方案。考虑一下您的用例并选择最适合您的策略。