我有一个全局数组,其中包含我的css + js 我正在为以下问题寻找最简单的解决方案:
addIncludes("script1.js,script2.js,style1.css,style2.css");
示例:
var myIncludes = [];
// add includes
addIncludes("script1.js,script2.js,style1.css,style2.css");
addIncludes("script3.js,script4.js,style1.css,style2.css");
so myIncludes should be:
["script1.js","script2.js","style1.css","style2.css","script3.js","script4.js"]
任何想法最优雅的方式是什么? THX
答案 0 :(得分:1)
这不是你问题的答案,但无论如何我希望它有所帮助。
看起来你打算通过JQuery加载你的样式表。如果是这样,请记住,这意味着在页面的其余部分完成加载并显示后才会加载样式。这将导致您的页面最初在浏览器中加载而没有任何样式,然后在加载样式后几秒钟更改。
如果您只是使用普通的HTML方法加载样式表,那么您可能会获得更好的用户体验 - 即文档顶部的<link rel="stylesheet" type="text/css" href="style1.css">
。
对于脚本来说,这一点可能并不那么重要,但我绝对会说样式表。
希望有所帮助(即使它没有回答你的问题)。
答案 1 :(得分:1)
您可以使用inArray
功能不添加重复项:
addIncludes(inc) {
$.each(inc.split(','), function(){
if ($.inArray(this, myIncludes) === -1) {
myIncludes.push(this);
}
});
}