如何用js动态导入css?
How to import css dynamically with js?
我遇到了一些情况,所以我无法加载一些 css,html 中的 js。所以我决定用 $.get()
动态拉动。但是,我测试了 js
的情况,但在 css
.
的情况下没有任何线索
以下是从远程 CDN 动态拉取并执行 js
。
拉动和执行
https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js'>
是否可以从远程获取其他 javascript 文件?
<pre>
<code class='java'>
System.out.println("It's done!");
</code>
</pre>
<script>
const highlightCDN = 'http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.2.0/highlight.min.js';
$(function(){
$.get(highlightCDN, function(data){
console.log('done!');
eval(data);
}).done(function(){
$('pre code').each(function(i, block){
console.log(i);
hljs.highlightBlock(block);
});
});
});
</script>
但是,我无法在 css
上使用 eval
。我能做什么?有可能吗?
非常感谢!
P.S。如果我像我的例子那样拉取 js
,我可以在拉取后全局使用它吗?
您可以通过 jQuery 插入一个 link 元素,它指向您的外部 css 文件,如下所示:
$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', 'external-css-stylesheet-url-goes-here'));
我遇到了一些情况,所以我无法加载一些 css,html 中的 js。所以我决定用 $.get()
动态拉动。但是,我测试了 js
的情况,但在 css
.
以下是从远程 CDN 动态拉取并执行 js
。
拉动和执行 https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js'>
是否可以从远程获取其他 javascript 文件?
<pre>
<code class='java'>
System.out.println("It's done!");
</code>
</pre>
<script>
const highlightCDN = 'http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.2.0/highlight.min.js';
$(function(){
$.get(highlightCDN, function(data){
console.log('done!');
eval(data);
}).done(function(){
$('pre code').each(function(i, block){
console.log(i);
hljs.highlightBlock(block);
});
});
});
</script>
但是,我无法在 css
上使用 eval
。我能做什么?有可能吗?
非常感谢!
P.S。如果我像我的例子那样拉取 js
,我可以在拉取后全局使用它吗?
您可以通过 jQuery 插入一个 link 元素,它指向您的外部 css 文件,如下所示:
$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', 'external-css-stylesheet-url-goes-here'));