Firefox:我可以在BASE标签中使用相对路径吗?

Aar*_*lla 5 html firefox base relative-path

我有一个小的web项目,我有很多页面和索引/ ToC文件.toc文件位于我项目的根目录中toc.html.这些页面分布在几个子目录中,并包含了一个iframe.

该项目不需要Web服务器,因此我可以在目录中创建HTML并在浏览器中浏览它.问题是,当toc.html想要在页面中调用函数的JavaScript (违反相同的原始策略)时,我遇到了XSS问题.

所以我base在标题中添加了标签,其中包含相应的URL到目录toc.html.这适用于Konqueror,但在Firefox中,我必须使用绝对路径或toc甚至不显示:(这是一个例子:

<?xml version='1.0' encoding='utf-8' ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<base href="../" target="_top" />
<title>Project 1</title>
</head>
<body>
<iframe class="toc" frameborder="0" src="toc.html">
</iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是文件在子目录中page.Firefox甚至不会加载它,说它找不到page/toc.html.

有解决方法吗?我真的想避免导出中的绝对路径,以便在任何地方保持相同(本地和我以后在Web服务器上传时).

zne*_*eak 7

在HTML4中,<base>需要一个绝对的URI.但是,由于HTML5现在得到了广泛的支持,因此应该提到HTML5 <base>标签接受一个URL,该URL可以是绝对的,也可以是相对的; 这实际上意味着您现在可以使用相对路径而不是绝对URI.