2009-12-18 46 views
5

我有一個小網站項目,我有很多頁面和索引/ ToC文件。 toc文件位於我的項目的根目錄toc.html中。這些頁面分佈在幾個子目錄中,並且包括一個iframe的toc。Firefox:我可以在BASE標籤中使用相對路徑嗎?

該項目不需要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火狐甚至不會。加載它,稱它無法找到page/toc.html

是否有解決方法嗎?我真的想避免在我出口的絕對路徑,以保持它到處都一樣(在本地,當我把它上傳的Web服務器上後)

+0

我現在有同樣的問題。看起來Firefox不會考慮指向相對路徑的''標籤。可悲的是,Google的第一個結果就是這個問題。 – zneak 2010-05-10 02:34:14

回答

7

在HTML4中,<base>需要absolute URI但是,由於HTML5現在得到了廣泛的支持,應該提及的是HTML5 <base> tag accepts an URL,它可以是絕對的也可以是相對的;這實際上意味着您現在可以使用相對路徑而不是絕對URI。

相關問題