微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – 动态加载样式表

我知道你可以在页面的头部有样式表,但我喜欢将它们放在一个单独的文件中.现在我正在使用单页应用程序.

在SPA中,内容是动态的,对吧?所以我不想用head标签导入head部分的所有样式表.我可以以某种方式导入样式表 – 当我需要它们时?

我的意思是,我可以在正文中有一个链接,这样每当我的SPA加载一些动态内容时,样式表也会被加载吗?这样即使没有加载动态内容,我也不必加载所有样式表.

我再次强调:每当内容加载时,样式加载.

我知道我可以借助于这样的内联样式来做到这一点:

~PSEUDO CODE 
<tagname style="somestyle"></tagname>

但我可以进行一些动态文件导入吗?我也可以在身体中使用链接标签吗?即使它有效,它是标准的吗?

解决方法

您应该考虑异步加载资产,例如着名的谷歌分析代码.您可以使用Javascript加载外部样式表.

JavaScript的

(function(){
  var styles = document.createElement('link');
  styles.rel = 'stylesheet';
  styles.type = 'text/css';
  styles.media = 'screen';
  styles.href = 'path/to/css/file';
  document.getElementsByTagName('head')[0].appendChild(styles);
})();

第1行和第7行为变量创建了一个新的范围,这样局部变量就不会与全局范围的变量发生冲突或覆盖.这不仅仅是一种最佳实践.此解决方案还假设您有< head>在你的HTML中标记.

原文地址:https://www.jb51.cc/html/225038.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐