这个jQuery代码意味着什么?

时间:2014-08-15 23:22:33

标签: javascript jquery

我在匿名javascript函数中看到以下代码,无法理解它是如何有用的?

(function($, undefined)
{
    var src = $('script:last').attr('src'); // <- how is this line of code useful
    // more code to follow.....

})(jQuery);

2 个答案:

答案 0 :(得分:4)

它获取文档中最后一个脚本标记的src属性。

这究竟是多么有用取决于你想要做什么。

我偶尔会看到javascript想要在脚本URL的末尾获取一些服务器提供的参数,甚至是该URL之外的域,这样就可以实现这一点。

如果代码是从通过<script>标记加载的脚本运行的,那么它用于获取当前脚本加载的URL。这是有效的,因为解析器在将更多页面插入DOM之前,在脚本标记中执行脚本。因此,在运行<script>标记的脚本时,文档中的最后一个<script>标记是当前正在执行的脚本(假设没有asyncdefer属性出现在脚本标签上。)


我应该补充一点,内联脚本没有.src属性,因此这只会获得对.src标记上使用<script>属性的外部脚本有用的内容。

答案 1 :(得分:1)

该代码只是检索页面最后一个脚本元素的url源。