说我正在提供两个文件:
http://example.com${ROOT}/
http://example.com${ROOT}/js/stuff.js
${ROOT}
可以是任何前缀,包括空字符串。现在,我要使第一个文件成为使用第二个文件的HTML页面:
<html>
<head>
<script type="text/javascript" src="js/stuff.js"></script>
</head>
...
</html>
仅当${ROOT}
为""
时,以上方法才有效。但是,如果它类似于"/foo/bar"
,则脚本标签会尝试加载http://example.com/foo/js/stuff.js
(请注意缺少的/bar
)。如果然后将src
设置为"../bar/js/stuff.js"
,则它仅适用于以${ROOT}
结尾的".../bar"
。
如果我事先知道${ROOT}
是什么,我可以调整<script>
标签,但就我而言,我强烈希望在知道{ {1}}(我或多或少直接在只读文件系统中提供服务。)
我看过的东西似乎不起作用:
${ROOT}
,js/stuff.js
,./js/stuff.js
等)都会出现错误的位置。 /js/stuff.js
标签由于<base href="..." />
不起作用的原因而无法工作;生成代码时需要知道<script>
。Content-Base
and Content-Location
headers are obsolete。似乎唯一可能(但总的来说)的事情是:
${ROOT}