我正在使用head.js函数来帮助加载JS& CSS文件并行。
我也在使用Google Minify,我在head.js的以下函数中发现了一个问题:
Head.js代码:http://cdnjs.cloudflare.com/ajax/libs/headjs/1.0.3/head.load.js
function getExtension(url) {
url = url || "";
var items = url.split("?")[0].split(".");
return items[items.length-1].toLowerCase();
}
此函数用于确定文件是否为CSS - 基本上如果它没有返回CSS,则认为它是JS。
我的minify文件使用如下:
includes/min/?g=site_index_css
因此,当这些运行通过getExtension时?意味着他们不返回CSS,因此被视为JS。
我按如下方式声明插件:
<script type="text/javascript" src="scripts/js/head.load.min.js"></script>
并使用以下内容来使用它:
<script>
head.load("includes/min/?g=site_activity_css");
</script>
如何替换head.js中的getExtension?我看过其他与这种功能替换相关的帖子,但我仍然对如何做到这一点感到困惑。
thankyou - 注意:我会在工作后将此问题发送给head.js的所有者,这样他就可以在有空的时候更新。
这就是我在...中尝试的方式...这是我应该如何添加代码?
<script type="text/javascript" src="scripts/js/head.load.min.js"></script>
<script>
function getExtension(url) {
url = url || "";
var ext = '';
if(ext = url.match(/(?<=&type=)[a-z]+/))
return ext[0];
var items = url.split("?")[0].split(".");
return items[items.length-1].toLowerCase();
}
</script>
<script>
head.load("includes/min/?g=site_activity_css&type=css");
</script>
以下是此问题的Head.JS GitHub网址 - https://github.com/headjs/headjs/issues/287
答案 0 :(得分:0)
也许这个:
function getExtension(url) {
url = url || "";
var ext = '';
if(ext = url.match(/type=[a-z]+/i))
return ext[0].substr(5).toLowerCase();
var items = url.split("?")[0].split(".");
return items[items.length-1].toLowerCase();
}
并加载:
head.load("includes/min/?g=site_activity_css&type=css");