这个问题是类似(但具有不同的扭转)至Replace http:// in anchor portion of links using Jquery替换倍数链路的硬编码的锚定部分
我的目标是拿出的最佳解决方案,以取代绝对路径/实现一相对路径网站,也许是使用脚本技术(jQuery的或JsRender)或其他相关技术
有: - 许多不同的硬编码服务器名称或IP地址(甚至超过10)中的每一个 页面中存在 - 在1000+ .htm,.html页面按摩
您的思绪之中,欢迎
AgileQ
这个问题是类似(但具有不同的扭转)至Replace http:// in anchor portion of links using Jquery替换倍数链路的硬编码的锚定部分
我的目标是拿出的最佳解决方案,以取代绝对路径/实现一相对路径网站,也许是使用脚本技术(jQuery的或JsRender)或其他相关技术
有: - 许多不同的硬编码服务器名称或IP地址(甚至超过10)中的每一个 页面中存在 - 在1000+ .htm,.html页面按摩
您的思绪之中,欢迎
AgileQ
以下是我会煮一个jQuery的解决方案(以及短的如何!):
$('a[href^="http"]').click(function(event){
event.preventDefault();
var matches = $(this).attr('href').match(/http(s?):\/\/[^\/]+(\/.*)$/);
window.location = matches[2];
});
注:我没有测试过这一点,并有可能是我的正则表达式模式存在缺陷。 (我从来没有第一次得到它们,但我目前无法测试它)
但重点是抓住点击指定的http &域名的链接,然后使用JavaScript的.match()在点击链接的href上,为表示路径的href部分提供子匹配。然后重定向到那个。我会在正则表达式中使用积极的背后,但JavaScript不支持。
更新我刚刚在这里测试了正则表达式http://jsfiddle.net/2wmaM/,它似乎工作。
你可能想要做serverside,而不是客户端JS?你是否只想将它们转换一次,或者是否想为每个不同的请求替换协议? – Bergi
让我进一步阐述。页面中的链接类似于 AgileQ