2012-06-15 18 views
1

我需要使用ajax讀取一段HTML代碼並重構字符串中的每個文件路徑。如何檢測HTML代碼中的文件路徑

例如:

我需要檢測 「../../images/home.jpg」 並將其更改爲「http://www.mywebsite.com/report/images/home。 JPG」。

我實際上在做一個儀表板。使用iframe在儀表板中顯示內容會降低性能。爲了不使用iframe,我打算讀入目標URL的html代碼字符串。但這裏唯一的因素是,如果任何圖像的文件路徑,JavaScript或CSS不是絕對路徑,我的儀表板將無法顯示。

請給出你的想法,你將如何在一串html代碼中檢測文件路徑,或者是否存在任何你知道的現有庫。

這是我閱讀的一個簡單的html代碼之一。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1"><title> 
    Web Report: Customer Complains 
</title><link rel="stylesheet" type="text/css" href="../../../css/Concept1.css" /></head> 
<style type="text/css"> 

</style> 
<body> 
     <div class="SectionTitleContainer1"> 
      <div style="text-align: left;" class="SectionTitle"> 
       Customer Complaints 
      </div> 
     </div> 
    <table cellspacing="0" cellpadding="5" style="width: 100%;" border="0"> 

     <tr> 
      <td width="1%" align="left"> 
       <a> 
       Refund 

        </a> 
      </td> 
      <td width="1%" style="text-align: right">139</td> 
      <td align="left" style=""> 
       <img src="../../../images/tile-horiz-bar.png" style="height: 10px; width: 100px" /> 
      </td> 
     </tr> 

     <tr> 
      <td width="1%" align="left"> 
       <a> 
       Appointment Rescheduled/Delayed 

        </a> 
      </td> 
      <td width="1%" style="text-align: right">96</td> 
      <td align="left" style=""> 
       <img src="../../../images/tile-horiz-bar.png" style="height: 10px; width: 69px" /> 
      </td> 
     </tr>     
    </table> 
    </body> 
</html> 
+0

請添加輸入HTML片段的完整示例。如果格式正確,可以使用xslt來解決這個問題。 – Filburt

+0

讀取的html代碼不固定。因此,我必須檢測關鍵字,如用於JavaScript的「src」和用於CSS的「url('')」。但在開始編碼之前,我想聽聽更多人的意見。 =) – CodeBender

回答

1

後發現長時間,我才知道,如果有需要兩個不同的系統來顯示相同​​的UI,我們應該把圖像文件(或任何其他腳本文件)在公共目錄中的服務器。應該給Web應用程序適當的權限來訪問服務器本地目錄中的文件。保存圖像文件的目錄不應受到保護,也不得暴露給公衆(如有必要)。