将 CSS 动态加载到文档头部并在加载后等待

Posted

技术标签:

【中文标题】将 CSS 动态加载到文档头部并在加载后等待【英文标题】:Dynamically load CSS to document head and wait after load 【发布时间】:2014-12-18 08:09:28 【问题描述】:

如何将 CSS 文件动态添加到文档 HEAD 并等待文件完全加载?我正在使用 iframe,所以这是我如何将 CSS 动态插入到 iframe 中加载的文档的示例。

$(iframe).contents().find('head').append('<link rel="stylesheet" type="text/css" href="style.css" media="screen" />');

此代码仅添加 CSS 文件,但我需要在其内容加载后执行一些操作。任何想法? 我对所有选项都持开放态度,但不应将 CSS 文件的内容作为内联代码插入。

谢谢

【问题讨论】:

【参考方案1】:

假设您对 jQuery 有所了解。 这可用于检查样式表是否已成功加载:

if($("link[href='/path/to.css']").length))
 // CSS succesfully loaded.

现在让我们构建您所追求的这个功能。 您正在将样式表附加到头部,因此当头部元素发生更改时,您要检查 CSS 是否已成功加载,然后做一些很棒的事情。 (或者在使用一些变量等加载 CSS 之前什么都不做。)

$("head").change(function()
   var url = "/path/to/stylesheet.css";
   if($("link[href='" + url + "']").length))
     // CSS succesfully loaded.
    else 
     // some problems with the CSS
   
);

如果这不是您想要的,我希望这至少能让您开始做一些事情。

最好的问候,

【讨论】:

以上是关于将 CSS 动态加载到文档头部并在加载后等待的主要内容,如果未能解决你的问题,请参考以下文章

动态script标签同步加载 ps:无打包编译,静态实现静态资源入口动态配置,无编译打包静态资源添加版本号

ELF格式解读- elf头部与节头

ELF格式解读- elf头部与节头

python爬虫 selenium+phantomjs动态解析网页,加载页面成功,返回空数据

如何在需要等待内容加载的动态页面上使用 JSON-LD 添加结构化数据?

点击时动态加载包含 iframe 的模式?