其中js方法loadStyle方法,如何防止加载同一个url被多次执行

      发布在:前端技术      评论:0 条评论

要防止加载同一个URL被多次执行,你可以在加载样式之前先检查是否已经存在相同URL的样式标签。如果已经存在,则不再重复加载。

以下是修改后的loadStyle方法,添加了对URL重复加载的检查:

loadStyle: function(url) {  var existingStyles = document.querySelectorAll('link[rel="stylesheet"][href="' + url + '"]');  if (existingStyles.length > 0) {    return; // 如果存在相同URL的样式标签,直接返回,不再重复加载  }  var link = document.createElement('link');  link.type = 'text/css';  link.rel = 'stylesheet';  link.href = url;  var head = document.getElementsByTagName('head')[0];  head.appendChild(link);}

在上面的代码中,我们使用document.querySelectorAll方法来获取所有rel属性为stylesheethref属性为指定URL的样式标签。如果获取到的结果长度大于0,说明已经存在相同URL的样式标签,直接返回,不再重复加载。

通过以上修改,你可以在调用loadStyle方法时避免多次加载同一个URL的样式。


相关文章
热门推荐