jQuery-更改页面上的所有URL,包括CSS&JavaScript文件

jQuery - Change all URLs on page include CSS & JavaScript files

本文关键字:CSS 包括 amp 文件 JavaScript URL jQuery-      更新时间:2023-09-26

是否有任何方法可以更改页面上的所有URL,包括CSS/JavaScript文件中的URL?

这就是我想做的:

HTML文件:

    Before:
    <a href='../foo.html'></a>
    After:
    <a href='http://my.proxy.server/?url=http://absolute.path.to.page/foo.html'></a>

CSS文件:

    Before:
    .bar {background-image: url(../foo.png);}
    After:
    .bar {background-image: 
        url(http://my.proxy.server/?url=http://absolute.path.to.image/foo.png);}

JavaScript文件:

    Before:
    window.open('../foo.html')
    After:
    window.open('http://my.proxy.server/?url=http://absolute.path.to.page/foo.html')

我知道用jQuery更改HTML标签的URL很容易,但CSS&JavaScript文件?

$("*").each(function(){
   if($(this).attr("href"){
     $(this).attr("href","'http://my.proxy.server/?url=http://absolute.path.to.page/foo.html");
   }
});

并对"src"重复该操作

尝试将所有html转换为字符串(类似于content = $("html").html()
然后生成3个或更多的正则表达式,或者如果只需要替换../您可以使用.split.coin:
content.split("../").join("http://my.proxy.server/?url=http://absolute.path.to.page/");
然后返回内容$("html").html(content);