【发布时间】:2009-12-18 09:48:14
【问题描述】:
我有一个小型 Web 项目,其中有很多页面和一个索引/ToC 文件。 toc 文件位于我的项目的根目录toc.html。这些页面分布在几个子目录中,并包含带有iframe 的目录。
该项目不需要网络服务器,因此我可以在目录中创建 HTML 并在浏览器中浏览它。问题是当来自 toc.html 的 JavaScript 想要调用页面中的函数(违反同源策略)时,我遇到了 XSS 问题。
所以我在标题中添加了base 标记,并带有指向toc.html 所在目录的相对URL。这适用于 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。
有解决方法吗?我真的很想避免在我的导出中使用绝对路径,以使其在任何地方都保持相同(本地以及稍后在网络服务器上上传时)。
【问题讨论】:
-
我现在也有同样的问题。似乎 Firefox 不会考虑指向相对路径的
<base>标签。可悲的是,关于此事的第一个谷歌结果就是这个问题。
标签: html firefox relative-path base