在requireJS中,有一个属性叫baseURL,通过设置baseURL,我们可以将需要加载的文件路径写成相对于项目的,而不是相对于当前页面的。
例如:假设我们的项目目录是/myproject/,里面有两个页面,一个是/myproject/one.html,另一个是/myproject/html/other.html,他们都要加载/myproject/js/some.js。如果我们将baseURL设置成/myproject/,则我们在加载该js的时候,这两个页面都可以使用相对于项目的路径./js/some,而不是因为页面的路径不同而使用不同的相对路径。
但是如果不使用requireJS,我们能不能实现类似于baseURL的功能呢?
base标签
其实,HTML中有一个base标签,可以产生类似的功能。举个例子:
复制代码代码如下:
<html>
<head>
<base href="http://static.cnblogs.com/" />
</head>
<body>
<img src="/UploadFiles/2021-03-30/logo_gray.gif"></body>
</html>
我们会发现,我们用相对路径./images/logo_gray.gif加载的图片,却变成了http://static.cnblogs.com/images/logo_gray.gif的图片。
base标签可以给页面的链接加上默认的路径,或者默认的打开方式。
下面是一个设置默认打开方式的例子:
复制代码代码如下:
<html>
<head>
<base target="_blank" />
</head></p>
<p><body>
<a href="http://www.cnblogs.com">这个页面会在新窗口打开</a>
<a href="http://justany.cnblogs.com">这个页面也会在新窗口打开</a>
</body>
</html>
一个BUG
base标签最好不要动态写入,否则在Firefox和IE中会有一个小bug,比如对于页面http://localhost/static/test.html:
复制代码代码如下:
<html>
<head>
<script>
document.write('<base href="http://localhost/" />');
</script>
</head></p>
<p><body>
<img src="/UploadFiles/2021-03-30/1.jpg"></body>
</html>
Firefox和IE中会先加载http://localhost/static/static/1.jpg,然后再加载http://localhost/static/1.jpg。也就是说,他们都先尝试用相对于当前页面的路径进行加载,然后再通过base标签设置的默认路径加载。
Chrome的加载正常。
Firefox的加载不正常。
Why?
这个我们并没有找到很好的解释,我们的分析是浏览器对资源加载进行了优化,导致动态插入base标签并未生效时,就预先去加载了,结果出错,然后base标签生效于是又加载正确的资源。
如何避免呢?不动态写入base标签那么就没有任何问题。如果需要动态写入base标签,那么页面所有引用的外部资源都需要通过Javascript动态加载。
html,base标签
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]