用平面目录引用替换对外部文件(图像,CSS和JavaScript)的所有引用?

时间:2009-10-21 20:45:16

标签: javascript jquery html css dom

我正在试图弄清楚是否有办法(使用JavaScript或jQuery)遍历整个HTML文件,替换所有对外部文件的引用,并替换所有对其他目录中文件的引用相同的命名文件,但没有目录信息。

例如,在HTML文本中:

  • scripts/script.jsscript.js
  • 取代
  • images/big.jpgbig.jpg
  • 取代
  • css/style.cssstyle.css
  • 取代

我猜CSS文件中的引用也需要改变。

2 个答案:

答案 0 :(得分:1)

您的浏览器的将页面另存为...

答案 1 :(得分:1)

下面的代码非常混乱,它会很整洁,但我希望你能解决所需的问题。

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
<script language="JavaScript">

$(function(){

    $("*", $("#container")).each(function()
    {
        try
        {
            //src
            if ($(this).attr("src"))
                if ($(this).attr("src").lastIndexOf("/")!=-1)
                    $(this).attr("src", $(this).attr("src").substr($(this).attr("src").lastIndexOf("/")+1) );

            //href
            if ($(this).attr("href"))
                if ($(this).attr("rel"))
                    if ($(this).attr("rel")=="stylesheet")
                        if ($(this).attr("href").lastIndexOf("/")!=-1)
                            $(this).attr("href", $(this).attr("href").substr($(this).attr("href").lastIndexOf("/")+1) );
        }
        catch(ex)
        {
            $("#lstError").append("<div>"+ex.description+"</div>");
        }
    });

});

</script>
</head>
<body>

    <div id="lstError"></div>

    <div id="container">
        <!-- your html -->
        <link rel="stylesheet" href="pepe/all.css">
        <img src="lele/bl.png" />
        <img src="lele/b.png" />
    </div>

</body>
</html>