替换倍数链接的硬编码锚点部分

时间:2012-10-14 17:08:28

标签: javascript html iis-7

这个问题与Replace http:// in anchor portion of links using Jquery

类似(但有不同的转折)

我的目标是提出一个最佳解决方案来替换绝对路径/实现网站中的相对路径,可能使用脚本技术(jQuery或JsRender)或其他相关技术

有: - 每个页面中可能存在许多不同的硬编码服务器名称或IP(甚至超过10个) - 超过1000+ .htm,.html页面按摩

欢迎您的到来(以及简短的方法!)

AgileQ

1 个答案:

答案 0 :(得分:0)

以下是我如何烹饪jQuery解决方案:

$('a[href^="http"]').click(function(event){
    event.preventDefault();      
    var matches = $(this).attr('href').match(/http(s?):\/\/[^\/]+(\/.*)$/);
    window.location = matches[2];
});

注意:我没有对此进行测试,并且我的正则表达式模式可能存在缺陷。 (我从来没有第一次把它们弄好,但我现在无法测试它)

但关键是要点击http&指定域,然后在单击链接的href上使用javascript的.match(),为表示路径的href部分提供子匹配。然后重定向到那个。我会在正则表达式中使用积极的外观,但JavaScript不支持它。

更新我刚刚在这里测试了正则表达式http://jsfiddle.net/2wmaM/,它似乎有效。