【发布时间】:2015-12-16 16:21:05
【问题描述】:
HTML 基本标签用于为页面上的所有链接指定默认 URL 和默认目标。我的角度页面的域是动态的(测试、生产等)。
由于 IE9 和 IE10 似乎不支持像“app/”这样的相对路径,但需要它是绝对路径,因此需要一个解决方案来指定正确的基础“href”。
我正在尝试添加以下内容但没有成功:
<script type="text/javascript">
document.write("<base href='http://localhost:8080/app/' />");
</script>
它生成与“硬编码”相同的 DOM 标记,如下所示:
<base href='http://localhost:8080/app/' />
硬编码版本在所有经过测试的浏览器中都可以工作,但 JavaScript 版本不能。它实际上只适用于 IE9(根据我的测试)。
我的猜测是任何基本标签在运行任何 JS 之前 都会被“解析”,这就是浏览器不将其应用于链接的原因,因为它找不到那时……这只是一篇论文。
有什么想法吗?
【问题讨论】:
标签: javascript html base