1

我需要使用 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>
4

1 回答 1

1

经过长时间的探索,我了解到如果需要两个不同的系统显示相同的 UI,我们应该将图像文件(或任何其他脚本文件)放在服务器内的公共目录中。应授予 Web 应用程序访问服务器本地目录中文件的适当权限。保存图像文件的目录不应受到保护,也不应向公众公开(如有必要)。

于 2013-06-21T01:35:58.933 回答