通过jQuery将相对URL重写为绝对URL

时间:2014-04-12 13:34:24

标签: jquery

特点:

  • 该网站位于不同的镜像上。
  • 外部文件中的JavaScript,所有镜像都是一样的。
  • 所有外部文件都在文件夹" assets"。
  • 在本地文件系统中启动站点的功能。

有代码:

<link href="assets/css/example.css">
<script src="assets/js/example.js"></script>

结果:

<link href="http://different.domain/assets/css/example.css">
<script src="http://different.domain/assets/js/example.js"></script>

2 个答案:

答案 0 :(得分:0)

也许是这样的:

$(function() {
$("script[src]").each(function() {
$(this).attr("src",location.protocol+"//"+location.hostname+"/"+$(this).attr("src"));
});
});

答案 1 :(得分:0)

你应该检查src中已经有完整url的脚本标签和那些根本没有src的脚本标签。例如:

$(function(){
    var domain = window.location.protocol + '//' + window.location.host + '/';
    $('script').each(function(){
        var src = $(this).attr('src');
        if( 'undefined' !== typeof src && '' != src  && !src.match(/^https?:/) ){
            $(this).attr('src', domain + src);
        }
    });
});