我需要使用ajax读取一串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 :(得分:1)
经过长时间的发现,我了解到如果需要两个不同的系统来显示相同的UI,我们应该将图像文件(或任何其他脚本文件)放在服务器的公共目录中。应为Web应用程序授予访问服务器本地目录中文件的适当权限。保存图像文件的目录不应该是安全的,也不应暴露给公众(如有必要)。