JS和CSS在网站中路径的区别

0

最近也是把网站的静态资源重新做了一下,图片等等静态资源使用独立的域名,这样可以避免一些不必要的cookie,其实小网站没什么作用的(其实我做这个只是玩玩而已)。
但是对于淘宝,百度等等大型网站应该都是做了的,每个cookie1KB,那如果一个网站一天被请求1KW次,每次10个静态资源,那么相当于占用了10G的数据流量,而且这些事完全没有必要的,所以这个还是可以研究一下的,这个详情请Google一下cookie-free

好了,进入正题,我们网站基本都是使用相对路径来引入一些资源的,比如CSS引入背景图片是这样:

background-image: url("/img/bg.gif")

导入CSS时标签:

<link href="http://static.acgist.com/css/demo.css" rel="stylesheet" type="text/css" />

那么引入这个图片的路径将是:http://static.acgist.com/img/bg.gif

用JS插入了一张图片标签:

<img src="/img/bg.gif" />

导入JS时标签:

<script type="text/javascript" src="http://static.acgist.com/js/demo.js"></script>

这时候导入的图片路径:http://www.acgist.com/img/bg.gif

www.acgist.com是引入JS的页面地址

这样对比可以看出来,当我们使用相对路径标记资源的时候,JS和CSS的请求的domain是不一样的。
CSS是按照导入CSS的domain为基准,JS是导入JS的页面的domain为基准的
如果你想在CSS和JS中修改domain的话,都可以使用带域名的绝对路径,JS也可以使用document.domain修改。