gpt4 book ai didi

javascript - 如何确保 JQuery 正确地动态注入(inject) CSS 并准备好使用?

转载 作者:太空宇宙 更新时间:2023-11-04 05:24:21 24 4
gpt4 key购买 nike

我知道我可以像这样注入(inject) CSS:

$(document).ready(function() {
$("a").click(function() {
$('head').append('<link rel="stylesheet" href="style2.css" type="text/css" />');
});
});

但是,这个异步。也就是说,即使我附加了链接,也不能保证 css 在那个时候可用。 (因为 CSS 下载)所以,如果有另一个js同时运行并尝试分配一个类,那么1)它仍然有效吗?文件完全下载后,稍后会应用 css 吗?

如果没有,是否有类似回调或一些技巧可以用来知道 css 已完全下载?

最佳答案

如果你需要保证加载并且CSS肯定在同一个域,你可以通过Ajax请求内容,然后直接注入(inject)属性。

我很幸运地通过创建虚拟 <link> 做到了这一点(至少在 iOS 中) <head> 中的元素并调用 text()在上面加上 CSS 文件的内容(作为字符串)。

例如,大致:

 $("a").click(function() {
$.get('style2.css', function (data) {
$('link').text(data);
// Stuff that must happen after CSS injection here
});
})

但老实说,这是一个罕见的用例。

关于javascript - 如何确保 JQuery 正确地动态注入(inject) CSS 并准备好使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5520287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com