获取.js文件的参数

时间:2010-02-08 12:40:08

标签: javascript parameters filenames

我有一个javascript文件,我用HTML标准<script src="foo.js?param"></script>引用。在我想要区分的文件中,例如从foo.jsfoo.js?auto加载foo.js?noauto=true文件,但如果文件重命名为bar.js并使用相同参数引用,则不会加载文件。我怎样才能做到这一点,最好不要使用任何框架?

2 个答案:

答案 0 :(得分:5)

看一下脚本的方法:

var js = /scriptaculous\.js(\?.*)?$/;
$$('head script[src]').findAll(function(s) {
  return s.src.match(js);
}).each(function(s) {
  var path = s.src.replace(js, ''),
  includes = s.src.match(/\?.*load=([a-z,]*)/);
  (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each(
   function(include) { Scriptaculous.require(path+include+'.js') });
});

我认为它遍历所有脚本元素并找到对自身的引用,然后解析该URL。

答案 1 :(得分:1)

如果您想要可靠地执行此操作,则需要为每个URL提供不同的JS。您可以使用服务器端脚本生成它。

如果你想在纯JS中做,那么你可以getElementsByTagName('script')并假设最后一个脚本是匹配的(可能不是,例如,如果在页面有后使用DOM添加脚本元素加载)。