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