我们有一个单页应用,使用pushState
更改浏览器中的网址。应用入口点 - 无论实际网址是什么,每次都会下载index.html - 将<base>
标记的href
属性设置为某个固定网址(例如/ myapp)作为Tomcat服务器的上下文。
问题是我们想要使用HTML5的Cache Manifest,它在查找清单文件时似乎没有使用<base>
href属性。例如:
通过以下网址访问应用时:
http://localhost:8080/myapp/view/detail
index.html:
<html manifest="app.manifest">
...
<base href="/myapp">
然后浏览器相对于当前浏览器URL(myapp / view / detail)而不是基本href路径。
当清单被指定为绝对路径时:
<html manifest="/app.manifest">
然后它在根目录中查找文件(localhost:8080 /)。
但我们需要将其解析为/myapp/app.manifest
(出于便携性原因,我们不想在任何网址中指定服务器主机/端口)
我们做错了什么?