【问题标题】:Get parameters of .js file获取.js文件的参数
【发布时间】:2010-02-08 12:40:07
【问题描述】:

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

【问题讨论】:

标签: javascript parameters filenames


【解决方案1】:

看看一个脚本化的方法:

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。

【讨论】:

    【解决方案2】:

    如果你想做到可靠,那么你需要为每个 URL 提供不同的 JS。您可以使用服务器端脚本生成它。

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

    【讨论】:

    • 好主意,但我想我应该警告用户不要更改包含文件的名称或调用某些方法,以防在加载正文时显式执行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 2013-02-07
    相关资源
    最近更新 更多