这个问题与Replace http:// in anchor portion of links using Jquery
类似(但有不同的转折)我的目标是提出一个最佳解决方案来替换绝对路径/实现网站中的相对路径,可能使用脚本技术(jQuery或JsRender)或其他相关技术
有: - 每个页面中可能存在许多不同的硬编码服务器名称或IP(甚至超过10个) - 超过1000+ .htm,.html页面按摩
欢迎您的到来(以及简短的方法!)
AgileQ
答案 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/,它似乎有效。