有一个动态下载css & js
文件的网页。
<html>
<head> <link rel="stylesheet" href="test1.css" type="text/css"/> </head>
<body>
<input type="file" id="file1" />
<input type="button" onclick="download();"/>
<script> function download(){
// if the selected file is css or js. this function download dynamically
}
</script> </body> </html>
正如您所见,test1.css
已附加在页面中并已下载,遗憾的是,如果有任何用户选择相同的文件test1.css
并通过上面的fn()重新下载。
会对页面产生影响吗?那我该怎么办?
* 注意:* BTW我刚测试相同,我没有看到任何更改或对页面有任何影响。但我不确定大规模或生产水平。
答案 0 :(得分:2)
只要只有一个文件,多次包含相同的CSS文件应该不成问题。以错误顺序加载的更多CSS文件可能(很可能会)导致错误呈现。
应该不惜一切代价避免多次包含相同的JS文件。您可能会遇到双重事件侦听器,乘法输出和其他不良内容。
只保留已加载的文件数组。然后在download
函数中,您只需检查文件是否未加载loaded.indexOf(filename) === -1