您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何检查是否使用Javascript加载了外部(跨域)CSS文件

如何检查是否使用Javascript加载了外部(跨域)CSS文件

这实际上是我所做的。

为了确保加载特定的CSS文件,我在CSS文件的末尾添加了样式。例如:

#ensure-cssload-8473649 {
  display: none
}

现在,我有一个JavaScript函数,它将在页面上加载上述样式时触发指定的回调:

var onCssLoad = function (options, callback) {
    var body = $("body");
    var div = document.createElement(constants.TAG_DIV);
    for (var key in options) {
        if (options.hasOwnProperty(key)) {
            if (key.toLowerCase() === "css") {
                continue;
            }
            div[key] = options[key];
        }
    }

    var css = options.css;
    if (css) {
        body.appendChild(div);
        var handle = -1;
        handle = window.setInterval(function () {
            var match = true;
            for (var key in css) {
                if (css.hasOwnProperty(key)) {
                    match = match && utils.getStyle(div, key) === css[key];
                }
            }

            if (match === true) {
                window.clearTimeout(handle);
                body.removeChild(div);
                callback();
            }
        }, 100);
    }
}

这就是我使用上面函数的方式:

onCssLoad({
    "id": "ensure-cssload-8473649",
    css: {
        display: "none"
    }
}, function () {
    // code when you want to execute 
    // after your CSS file is loaded
});

这里的第一个参数采用optionswhere id来检查 和css属性,以验证从CSS加载的内容

javascript 2022/1/1 18:13:36 有662人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶