2009-08-11 37 views
0

我有一個信息頁,我用純HTML編寫。如何使用<base />重定向鏈接?

所有圖像鏈接是像這樣:

< IMG SRC = 「/圖片/ image.png」/ >使得they refer to the root of the web site

但是我想在更新之前查看嵌入圖像的頁面。在chrome中,< img src =「/ images/image.png」/ >在file:/// c:/ imgs /中查找。不過,我想將其重定向到file:/// C:/ web/site/imgs /。

我試圖使用<base >無濟於事。

回答

1

當你的網址是絕對的,你不能使用<base>。這裏有幾個選擇:

解決方案#1:使用Windows subst命令使驅動器盤符爲你的「根」目錄:

subst R: C:\web\site 

然後在R點瀏覽器:\

解決方案#2:安裝配置爲C:\web\site的根目錄的Web服務器,然後將瀏覽器指向該目錄。

使用真實的Web服務器是測試網站的好方法 - 瀏覽器的JavaScript安全策略在本地文件和通過Web服務器讀取的文件之間有很大差異。

1

如果您希望< BASE>標籤更改域以及文件夾路徑,則必須將圖像路徑更改爲相對URL。

2

<base >隻影響頁面相關鏈接。它本質上是「假裝」你的頁面位於不同的位置,所以相對於該頁面給出的地址現在將相對於該新位置。

您的地址根本不相對於該頁面。不管file:///你說的頁面在哪裏,圖像都很清楚地給出爲「/ images/...」

在大多數平臺上,在localhost上設置一個簡單的web服務器相當簡單。 (Mac OS X帶有一個開箱即用的功能,只需在系統偏好設置中選中一個框就可以了。)設置這樣的服務器進行開發可讓您查看網站http://localhost/,並可能解決此「相對鏈接」問題。

如果解決方案不切實際,您可以考慮設置別名或符號鏈接來創建已經正常工作的服務器相關鏈接。儘管如此,這有點駭人聽聞。

0

首先你必須確保該基地的href屬性的內容,與/

例如結尾:

<base href="file:///C:/web/site/imgs/" /> 

因爲,基地將改變所有相對 URI的行爲您的網頁,所以<img src="/images/image.png" />將繼續指向file:///images/image.png,但

<img src="images/image.png" /> 

現在將指向file:///C:/web/site/imgs/images/image.png