Chrome扩展程序:动态注入css而不会延迟

时间:2017-05-17 16:28:26

标签: javascript jquery css performance google-chrome-extension

我知道我可以在css文件中注入manifest个文件,如下所示:

"matches": ["some url"],
"css": ["text.css"],

但是我想用JS选择一个css文件,因为我有不同的主题。 例如,如果选择了蓝色主题,我需要加载blue.css

我知道我可以这样注射css

window.addEventListener("DOMContentLoaded", function() {
        var path = chrome.runtime.getURL("blue.css");
        $('<link/>', {
            rel: 'stylesheet',
            type: 'text/css',
            href: path
        }).appendTo('head');

}, false);

然而这太慢了。在加载blue.css之前,默认主题显示的时间为几毫秒,这看起来像丑陋。诶。

当我这样做时:

var path = chrome.runtime.getURL("blue.css");
        $('<link/>', {
            rel: 'stylesheet',
            type: 'text/css',
            href: path
        }).appendTo('head');

然后根本没有加载blue.css

那么,如何在没有这个短暂延迟的情况下向JS注入css个文件,就像从清单中注入一样?

0 个答案:

没有答案