1

这个问题与使用 Jquery 在链接的锚部分中替换 http://类似(但有不同的转折)

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

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

欢迎您提出建议(以及简短的操作方法!)

敏捷Q

4

1 回答 1

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/测试了正则表达式,它似乎工作。

于 2012-10-14T17:33:15.703 回答