2

我有一个mod_rewrite用于创建漂亮 url 的 Joomla 网站。

http://www.example.com/resources/newsletter

然而,这产生了一个问题。包括这样的图像: src="images/pic.jpg",然后它会在以下位置查找文件:

http://www.example.com/resources/newsletter/images/pic.jpg

...这显然不存在。为了解决这个问题,我<base>在我的部分中添加了一个标签head

<base href="http://www.example.com/" />

...效果很好,直到我尝试在同一页面上创建指向锚点(书签)的链接:

<!-- on http://www.example.com/resources/newsletter -->
<a href="#footer">go to the footer</a>

<!-- clicking that link takes you to http://www.example.com/#footer -->

将我的链接更改<a href="resources/newsletter/#footer">为不可行,因为我在编辑页面时不一定知道页面的 URL。有什么方法可以让某些链接忽略该<base>指令?

虽然我真的更喜欢直接的 HTML 解决方案,但我已经在这个站点上使用了 jQuery,所以如果我被卡住了,这可能是一个选择。

4

2 回答 2

2

是否可以将您的src属性更改为类似的东西/images/pic.jpg?这样就可以达到你想要的效果。

如果这是不可能的,这个(未经测试的)jQuery代码应该适合你:

$('a[@href^="#"]').click(function() { 
  var hash = this.hash, el = $(hash), offset;
  if(!el.size()) {
    el = $("[@name=" + hash.slice(1) + "]");
  }

  offset = el.offset();
  window.scroll(offset.left, offset.top);
}); 
于 2009-01-02T01:33:33.353 回答
0

老问题,新答案..试试这个:

$('a[href^="#"]').on('click', function (event) { 
    event.preventDefault();
    window.location.hash = $(this).attr('href');
});
于 2016-06-07T01:26:04.217 回答