5

我有一个小网络项目,其中有很多页面和一个索引/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>

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

有解决方法吗?我真的很想避免在我的导出中使用绝对路径,以使其在任何地方都保持相同(本地以及稍后我将其上传到 Web 服务器上时)。

4

1 回答 1

7

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

于 2010-05-10T02:38:34.483 回答