【问题标题】:Firefox: Can I use a relative path in the BASE tag?Firefox:我可以在 BASE 标签中使用相对路径吗?
【发布时间】: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 不会考虑指向相对路径的 &lt;base&gt; 标签。可悲的是,关于此事的第一个谷歌结果就是这个问题。

标签: html firefox relative-path base


【解决方案1】:

在 HTML4 中,&lt;base&gt; 需要一个 absolute URI。不过,既然现在 HTML5 已经得到了广泛的支持,那么需要提到的是HTML5 &lt;base&gt; tag accepts an URL,它可以是绝对的,也可以是相对的;这实际上意味着您现在可以使用相对路径而不是绝对 URI。

【讨论】:

    猜你喜欢
    • 2014-03-21
    • 2020-02-09
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 2015-09-27
    • 1970-01-01
    • 2016-01-23
    相关资源
    最近更新 更多