这只会加载css一次就好了。
if (filetype=="css" && !document.querySelector('.load_once') ) {
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
fileref.setAttribute("class", "load_once")
}
然而,相同的脚本不适用于js文件。
if (filetype=="js" && !document.querySelector('.load_once') ) {
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
fileref.setAttribute("class", "load_once")
}
我通过在触发后清空函数来解决问题,这样函数只触发一次。
但是,我仍然想知道为什么上面的脚本只适用于css文件&不适用于js文件。
我在这里做错了什么?
我无法理解为什么这不起作用。
这是javascript的奇怪之处吗? javascript本身固有的某种bug?
修改
PLS。请参阅下面我对Borcuhin评论的回复。
我的论点是苹果有红色或
红苹果!=红橙色。
从逻辑上讲,我认为上面的剧本应该有效;但它没有!!
有人请解释/纠正我&让我知道如何&为什么javascript对待/认为阅读苹果与红橙相同。
答案 0 :(得分:1)
您可以像这样插入脚本标记:
var script = document.createElement('script');
script.setAttribute('src', '/script.js');
// put tag to the head
document.getElementsByTagName('head')[0].appendChild(script);
<强>更新强>
您需要为每个文件包含使用不同的类。因为一旦您添加了标记some_class_name
的标记,选择器:document.querySelector('.some_class_name')
会找到1个元素。所以你只需要将some_other_class_name
用于js文件或其他文件,或者随机生成类名如果你有N
个不同的文件