Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在从服务器下载样式表之前,使用javascript替换样式表href_Javascript_Performance_Dom_Rendering_Stylesheet - Fatal编程技术网

在从服务器下载样式表之前,使用javascript替换样式表href

在从服务器下载样式表之前,使用javascript替换样式表href,javascript,performance,dom,rendering,stylesheet,Javascript,Performance,Dom,Rendering,Stylesheet,是否可以使用一点javascript阻止外部脚本/样式表的下载?例如,将一小块javascript放在的最顶端,以便对文档中的所有和标记执行一些操作,或者在从服务器下载原始相对路径源之前,将相对路径更改为绝对路径 我不是在寻找替代方案,例如服务器端处理或手动更改和标记。对于除了插入一个脚本标记之外,我无法控制最终文档或其生成的场景,我感兴趣的是一个概念证明。可能与此有关: $(function(){ $("link").each(function(){ $(this).a

是否可以使用一点javascript阻止外部脚本/样式表的下载?例如,将一小块javascript放在
的最顶端,以便对文档中的所有
标记执行一些操作,或者在从服务器下载原始相对路径源之前,将相对路径更改为绝对路径


我不是在寻找替代方案,例如服务器端处理或手动更改
标记。对于除了插入一个脚本标记之外,我无法控制最终文档或其生成的场景,我感兴趣的是一个概念证明。

可能与此有关:

$(function(){
    $("link").each(function(){
        $(this).attr('href','NEW_URL.css');
    });   
});
这将更改所有元素的href属性,但我不能保证它会更改样式,因为此脚本将在DOM就绪时执行

另外,它不是纯javascript——它是jQuery(抱歉,如果您需要纯javascript)


p.p.S.-我刚刚尝试过这个-CSS被应用。这并不意味着你可以阻止下载用标签写的css文件。它们是下载的,但当DOM准备就绪(文档已加载)时,样式会更改。它的速度相当快-你无法看到旧样式=)

可能是这样的:

$(function(){
    $("link").each(function(){
        $(this).attr('href','NEW_URL.css');
    });   
});
这将更改所有元素的href属性,但我不能保证它会更改样式,因为此脚本将在DOM就绪时执行

另外,它不是纯javascript——它是jQuery(抱歉,如果您需要纯javascript)

p.p.S.-我刚刚尝试过这个-CSS被应用。这并不意味着你可以阻止下载用标签写的css文件。它们是下载的,但当DOM准备就绪(文档已加载)时,样式会更改。它的速度相当快-你不能看到旧的样式=)

不,你不能

问题是在文档的头部,脚本将无法访问尚未加载的节点,因此它无法修改即将出现的任何脚本标记

此外,浏览器在到达脚本标记后立即加载JavaScript,并停止解析html,直到脚本标记完成

这意味着,使用JavaScript是没有办法的。

不,你不能

问题是在文档的头部,脚本将无法访问尚未加载的节点,因此它无法修改即将出现的任何脚本标记

此外,浏览器在到达脚本标记后立即加载JavaScript,并停止解析html,直到脚本标记完成


这意味着,没有办法用JavaScript来实现这一点。

从动态的角度来看,CSS的工作相当有趣。也就是说,您可以在下载css后使用javascript更新其URL,当链接更改时,其效果将无效(99%确定)

如果上述操作失败,CSS将再次令人惊奇,这意味着您可以将一个新的链接节点插入到一个新的CSS中,该新的CSS基本上会覆盖您自己选择的任何和所有以前的CSS样式


你想实现什么?

从动态的角度看,CSS的工作相当有趣。也就是说,您可以在下载css后使用javascript更新其URL,当链接更改时,其效果将无效(99%确定)

如果上述操作失败,CSS将再次令人惊奇,这意味着您可以将一个新的链接节点插入到一个新的CSS中,该新的CSS基本上会覆盖您自己选择的任何和所有以前的CSS样式

你想达到什么目标