Заменить все ссылки на внешние файлы (изображения, CSS и JavaScript) плоскими ссылками на каталоги? - PullRequest
1 голос
/ 22 октября 2009

Я пытаюсь выяснить, есть ли способ (с помощью JavaScript или jQuery ) пройти весь файл HTML, заменив все ссылки на внешние файлы и заменив все ссылки на файлы в других каталоги с таким же именованным файлом, но без информации о каталогах.

Например, в тексте HTML:

  • scripts/script.js заменяется на script.js
  • images/big.jpg заменяется на big.jpg
  • css/style.css заменяется на style.css

и т.д.

Полагаю, ссылки в файлах CSS тоже нуждаются в изменении.

Ответы [ 2 ]

1 голос
/ 22 октября 2009

Код ниже очень грязный, он будет аккуратным, но я надеюсь, что вы решите, что вам нужно.

<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>
1 голос
/ 22 октября 2009

А как насчет в вашем браузере Сохранить страницу как ... ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...